Lấy chuỗi con trong python

Hướng dẫn cách cắt chuỗi trong python. Bạn sẽ học được cách cắt (slice) một chuỗi thành các chuỗi nhỏ hơn bằng cách dùng chức năng cắt (slice) trong python sau bài học này.

Cách cắt (slice) chuỗi trong python

Để cắt (slice) chuỗi trong python , chúng ta sử dụng chức năng cắt (slice) trong python hay còn gọi là slice string python như sau:

Cú pháp cắt (slice) chuỗi trong python

Chúng ta sẽ chỉ định vị trí bắt đầu cắt chuỗi và vị trí kết thúc từ chuỗi ban đầu để lấy chuỗi con ra, theo cú pháp dưới đây:

str [ vị trí bắt đầu cắt : vị trí kết thúc cắt ]

Trong đó:

  • str là chuỗi cần cắt
  • vị trí bắt đầu cắt là index của ký tự bắt đầu cắt chuỗi
  • vị trí kết thúc cắt là index của ký tự kết thúc cắt chuỗi cộng thêm 1 đơn vị

🌟 Cần chú ý do chuỗi được cắt ra không bao gồm ký tự ở vị trí kết thúc cắt, nên khi chỉ định vị trí kết thúc cắt chúng ta cần cộng thêm 1 đơn vị. Như thế, chuỗi cắt ra sẽ bao gồm cả ký tự ở vị trí kết thúc cắt.

🌟 Về cách đánh số index của ký tự trong chuỗi, bắt đầu đánh số index của ký tự ngoài cùng tay trái bằng 0, sau đó cộng thêm 1 và tiến dần về phía bên phải. Lưu ý là đánh số index bắt đầu từ 0 chứ không phải từ 1 nhé.
Bạn có thể xem thêm về cách chỉ định index trong chuỗi python tại bài Lấy ký tự trong chuỗi python.

Ví dụ cắt (slice) chuỗi trong python

Giả sử chúng ta cần cắt chuỗi city và tạo ra chuỗi mới từ chuỗi ban đầu là bigcityboy.

  1. Đánh số index của các ký tự trong chuỗi ban đầu.
    Giá trị index của các ký tự trong chuỗi bigcityboy như sau:

     b i g c i t y b o y
     -------------------
     0 1 2 3 4 5 6 7 8 9
    
  2. Xác định vị trí bắt đầu cắt.
    Ở ví dụ trên, chúng ta bắt đầu cắt tại vị trí ký tự c (ký tự bắt đầu chuỗi city) có index là 3.
    Do đó vị trí bắt đầu cắt bằng chính giá trị index này.

  3. Xác định vị trí kết thúc cắt.
    Ở ví dụ trên, chúng ta sẽ cắt cho tới vị trí của ký tự y có index là 6.
    Để chuỗi mới tạo ra chứa cả ký tự này, chúng ta cần cộng thêm 1 đơn vị nên giá trị vị trí kết thúc cắt sẽ là 7.

  4. Viết lệnh cắt .
    Trong ví dụ này sẽ là bigcityboy[3:7]

Chúng ta viết mã mẫu như sau:

str = "bigcityboy"
print (str[3:7])

Kết quả

city

Tương tự như thế, chúng ta có thể cắt các chuỗi khác và tạo ra chuỗi mới từ chuỗi ban đầu như sau:

str = "bigcityboy"
print (str[3:6])


str = "bigcityboy"
print (str[2:4])

Cắt (slice) chuỗi trong python với cú pháp rút gọn

Trong một số trường hợp, chúng ta có thể lược bỏ đi đối số vị trí bắt đầu hoặc vị trí kết thúc cắt như dưới đây.

Lược bỏ vị trí bắt đầu khi cắt (slice) chuỗi trong python

Chúng ta có thể lược bỏ vị trí bắt đầu khi cắt chuỗi trong python trong trường hợp vị trí bắt đầu bằng 0, có nghĩa là chúng ta sẽ cắt từ đầu chuỗi ban đầu.
Ví dụ:

str = "bigcityboy"
print (str[:7])

Chúng ta cũng có thể chỉ định vị trí bắt đầu như sau:

str = "bigcityboy"
print (str[0:7])

Cả hai cách viết đều đưa ra kết quả giống nhau:

bigcity

Lược bỏ vị trí kết thúc khi cắt (slice) chuỗi trong python

Chúng ta có thể lược bỏ vị trí kết thúc khi cắt chuỗi trong python trong trường hợp vị trí kết thúc bằng độ dài của chuỗi ban đầu, có nghĩa là chúng ta sẽ cắt cho đến cuối chuỗi ban đầu.
Ví dụ:

str = "bigcityboy"
print (str[3:])

Chúng ta cũng có thể chỉ định vị trí kết thúc như sau:

str = "bigcityboy"
print (str[3:10])

Cả hai cách viết đều đưa ra kết quả giống nhau:

cityboy

  • Về cách tính độ dài của chuỗi, bạn có thể tham khảo tại bài viết tính độ dài chuỗi trong python,

Lược bỏ cả vị trí bắt đầu lẫn vị trí kết thúc khi cắt (slice) chuỗi trong python

Khi chúng ta lược bỏ cả vị trí bắt đầu lẫn vị trí kết thúc khi cắt chuỗi trong python, chuỗi mới tạo ra sẽ giống hệt chuỗi ban đầu.

Ví dụ:

str = "bigcityboy"
print (str[:])

Chúng ta cũng có thể chỉ định vị trí bắt đầuvị trí kết thúc như sau:

str = "bigcityboy"
print (str[0:10])

Cả hai cách viết đều đưa ra kết quả giống nhau:

bigcityboy

Nhảy cóc khi cắt (slice) chuỗi trong python

Khi cắt chuỗi trong python, mặc định chúng ta sẽ lấy tất cả các ký tự từ vị trí bắt đầu đến vị trí kết thúc khi cắt.
Tuy nhiên, chúng ta cũng có thể nhảy cóc khi cắt chuỗi trong python.
Ví dụ chúng ta có thể lấy một ký tự rồi bỏ qua 2 ký tự tiếp theo đó, rồi lại lấy ký tự và lại bỏ bỏ 2 ký tự tiếp theo v.v..
Khi đó, chúng ta cần chỉ định thêm tham số bước nhảy khi cắt chuỗi trong python, với cú pháp dưới đây:

Chuỗi [ index bắt đầu : index kết thúc : bước nhảy]

Ví dụ, cùng với chuỗi bigcityboy ở trên, chúng ta có thể nhảy cóc 2 bước khi cắt chuỗi như sau:

str = "bigcityboy"
print (str[3:7:2])

print (str[3:10:3])

Kết quả

ict
cyy

Tổng kết

Chúng ta có thể cắt (slice) chuỗi trong python bằng cách chỉ định vị trí bắt đầu và kết thúc cắt trong chuỗi ban đầu.
Ngoài ra khi cắt chuỗi, chúng ta có thể nhảy cóc bằng cách chỉ định thêm số bước nhảy khi viết lệnh cắt chuỗi trong python.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js">

Bài viết liên quan

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
Lấy chuỗi con trong python

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.