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ỗivị 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
.
Đá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ỗibigcityboy
như sau:b i g c i t y b o y ------------------- 0 1 2 3 4 5 6 7 8 9
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ỗicity
] có index là3
.
Do đóvị trí bắt đầu cắt
bằng chính giá trị index này.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
.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 đầu
và vị 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="//creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a> 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="//www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="//images.dmca.com/Badges/DMCABadgeHelper.min.js">
Bài viết liên quan
Nối chuỗi và lặp chuỗi trong python
Cách sử dụng chuỗi thô raw string trong python
Ký tự đặc biệt trong python [escape sequence]
Phương thức Center[] trong Python
Phương thức capitalize[] trong Python
Chuyển list thành string trong Python
Chuyển chữ hoa thành chữ thường và ngược lại trong python
Chuyển số thành chuỗi trong python