Cộng đồng chia sẻ tri thức Lib24.vn

Kiểu dữ liệu chuỗi trong Python - Phần 5

Gửi bởi: Phạm Thọ Thái Dương 20 tháng 11 2020 lúc 11:10:51


Mục lục
* * * * *

Các phương thức tách chuỗi

Phương thức split

Cú pháp:

<chuỗi>.split(sep=None, maxsplit=-1)

Công dụng: Trả về một list bằng cách chia các phần tử bằng kí tự sep.

  • Nếu sep mặc định bằng None thì sẽ dùng kí tự khoảng trắng.
  • Nếu maxsplit được mặc định bằng -1, Python sẽ không bị giới hạn việc tách, còn không, Python sẽ tách với số lần được cung cấp thông qua maxsplit.
>>> 'How Kteam K9'.split()
['How', 'Kteam', 'K9']
>>> 'How Kteam K9'.split(maxsplit=1)
['How', 'Kteam K9']
>>> 'How--Kteam--K9'.split('--')
['How', 'Kteam', 'K9']
>>> 'How&Kteam&K9'.split('&')
['How', 'Kteam', 'K9']12345678

Phương thức rsplit

Cú pháp:

<chuỗi>.split(sep=None, maxsplit=-1)

Công dụng: cũng hoàn toàn như phương thức split, có điều là việc tách từ bên phải sang trái

>>> 'How kteam EDUCATION'.rsplit()
['How', 'kteam', 'EDUCATION']
>>> 'How kteam EDUCATION'.rsplit(maxsplit=1)
['How kteam', 'EDUCATION']1234

Phương thức partition

Cú pháp:

<chuỗi>.partition(sep)

Công dụng: Trả về một tuple với 3 phần tử. Các phần tử đó lần lượt là chuỗi trước chuỗi sep, sep và  chuỗi sau sep.

  • Trong trường hợp không tìm thấy sep trong chuỗi, mặc định trả về giá trị đầu tiên là chuỗi ban đầu và 2 giá trị kế tiếp là chuỗi rỗng.
>>> 'How kteam vs I hate python team vs Education'.partition('vs')
('How kteam ', 'vs', ' I hate python team vs Education')
>>> 'How kteam vs I hate python team vs Education'.partition('VS')
('How kteam vs I hate python team vs Education', '', '')1234

Phương thức rpartition

Cú pháp:

<chuỗi>.rpartition(sep)

Công dụng: Cách phân chia giống như phương thức partition nhưng lại chia từ phải qua trái. Và với sep không có trong chuỗi thì sẽ trả về 2 giá trị đầu tiên là chuỗi rỗng và cuối cùng là chuỗi ban đầu

>>> 'How kteam vs I hate python team vs free Education'.rpartition('vs')
('How kteam vs I hate python team ', 'vs', ' free Education')
>>> 'How kteam vs I hate python team vs free Education'.rpartition('VS')
('', '', 'How kteam vs I hate python team vs free Education')
12345

Các phương thức tiện ích

Phương thức count

Cú pháp:

<chuỗi>.count(sub, [start, [end]])

Công dụng: Trả về một số nguyên, chính là số lần xuất hiện của sub trong chuỗi. Còn start và end là số kĩ thuật slicing (lưu ý không hề có bước).

>>> 'kkkkk'.count('k')
5
>>> 'kkkkk'.count('kk')
2
>>> 'kkkkk'.count('k', 3)
2
>>> 'kkkkk'.count('k', 3, 4)
1
123456789

Phương thức startswith

Cú pháp:

<chuỗi>.startswith(prefix[, start[, end]])

Công dụng: Trả về  giá trị True nếu chuỗi đó bắt đầu bằng chuỗi prefix. Ngược lại là False.

  • Hai yếu tố start, end tượng trưng cho việc slicing (không có bước) để kiểm tra với chuỗi slicing đó.
>>> 'how kteam free education'.startswith('ho')
True
>>> 'how kteam free education'.startswith('ha')
False
>>> 'how kteam free education'.startswith('ho', 4)
False
1234567

Phương thức endswith

Cú pháp:

<chuỗi>.endswith(prefix[, start[, end]])

Công dụng: Trả về  giá trị True nếu chuỗi đó kết thúc bằng chuỗi prefix. Ngược lại là Flase.

  • Hai yếu tố start end tượng trưng cho việc slicing (không có bước) để kiểm tra với chuỗi slicing đó.
>>> 'how kteam free education'.endswith('n')
True
>>> 'how kteam free education'.endswith('ho')
False
>>> 'how kteam free education'.endswith('n', 0, 9)
False
1234567

Phương thức find

Cú pháp:

<chuỗi>.find(sub[, start[, end]])

Công dụng: Trả về một số nguyên, là vị trí đầu tiên của sub khi dò từ trái sang phải trong chuỗi. Nếu sub không có trong chuỗi, kết quả sẽ là -1. Vẫn như các phương thức khác, start end đại diện cho slicing và ta sẽ tìm trong chuỗi slicing này.

>>> 'howkteam'.find('h')
0
>>> 'howkteam'.find('k')
3
>>> 'howkteam'.find('l')
-1
>>> 'howkteam'.find('h', 2)
-1
123456789

Phương thức rfind

Cú pháp:

<chuỗi>.rfind(sub[, start[, end]])

Công dụng: Tương tự phương thức find nhưng tìm từ phải sang trái

>>> 'howkteamhow'.rfind('h')
812

Phương thức index

Cú pháp:

<chuỗi>.index(sub[, start[, end]])

Công dụng: Tương tự phương thức find. Nhưng khác biệt là sẽ có lỗi ValueError nếu không tìm thấy chuỗi sub trong chuỗi ban đầu

>>> 'abcd'.index('z')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
12345

Phương thức rindex

Cú pháp: 

<chuỗi>.rindex(sub[, start[, end]])

Công dụng: Tương tự phương thức rindex. Và cũng khác ở điểm là sẽ có ValueError nếu không tìm thấy chuỗi sub trong chuỗi ban đầu

>>> 'abcd'.rindex('z')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found1234

Các phương thức xác thực

Phương thức islower

Cú pháp:

<chuỗi>.islower()

Công dụng: Trả về True nếu tất cả các kí tự trong chuỗi đều là viết thường. Ngược lại là False

>>> 'python'.islower()
True
>>> 'pythoN'.islower()
False
12345

Phương thức isupper

Cú pháp:

<chuỗi>.isupper()

Công dụng: Trả về True nếu tất cả các kí tự trong chuỗi đều là viết hoa. Ngược lại là False

>>> 'HOWKTEAM'.isupper()
True
>>> 'HowKteam'.isupper()
False1234

Phương thức istitle

Cú pháp:

<chuỗi>.istitle()

Công dụng: Trả về True nếu chuỗi đó là một dạng title. Ngược lại là False

>>> 'Free Education'.istitle()
True
>>> 'FrEe Education'.istitle()
False
12345

Phương thức isdigit

Cú pháp:

<chuỗi>.isdigit()

Công dụng: Trả về True nếu tất cả các kí tự trong chuỗi đều là những con số từ 0 đến 9

Lưu ý: Phương thức này gần giống với isnumeric. Nhưng vì liên quan nhiều đến toán nên Kteam sẽ không giới thiệu về phương thức isnumeric và cũng không so sánh sự khác nhau giữa hai phương thức.

>>> '0123'.isdigit()
True
>>> '123'.isdigit()
True
>>> '-123'.isdigit()
False123456

Phương thức isspace

Cú pháp:

<chuỗi>.isspace()

Công dụng: Trả về True nếu tất cả các kí tự trong chuỗi đều là kí tự khoảng trắng

>>> '      '.isspace()
True
>>> '   d  '.isspace()
False1234

Câu hỏi củng cố

Với chuỗi s bên dưới 

>>> s = 'aaaAAaaaooaaneu mot Ngay naO Doaaaaaaa'1

Hãy dùng các phương thức để có được chuỗi s sau đây

>>> s
'Neu Mot Ngay Nao Do'12

Hãy cố gắng làm càng ít dòng code càng tốt.


Được cập nhật: 27 tháng 4 lúc 8:29:20 | Lượt xem: 718

Các bài học liên quan