string

Báo cáo vấn đề Xem nguồn Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Một loại ngôn ngữ được tích hợp sẵn để hỗ trợ chuỗi. Ví dụ về giá trị cố định kiểu chuỗi:

a = 'abc\ndef'
b = "ab'cd"
c = """multiline string"""

# Strings support slicing (negative index starts from the end):
x = "hello"[2:4]  # "ll"
y = "hello"[1:-1]  # "ell"
z = "hello"[:4]  # "hell"# Slice steps can be used, too:
s = "hello"[::2] # "hlo"
t = "hello"[3:0:-1] # "lle"
Chuỗi không thể lặp lại trực tiếp, hãy sử dụng phương thức .elems() để lặp lại các ký tự của chuỗi. Ví dụ:
"bc" in "abcd"   # evaluates to True
x = [c for c in "abc".elems()]  # x == ["a", "b", "c"]
Không cho phép nối chuỗi ngầm ẩn; hãy sử dụng toán tử +. Toán tử so sánh sẽ thực hiện một phép so sánh từ điển; sử dụng == để kiểm tra tính bằng nhau.

Hội viên

viết hoa

string string.capitalize()

Trả về một bản sao của chuỗi, trong đó ký tự đầu tiên (nếu có) được viết hoa và phần còn lại được viết thường. Phương thức này không hỗ trợ các ký tự không phải ASCII.

số lượng

int string.count(sub, start=0, end=None)

Trả về số lần xuất hiện (không trùng lặp) của chuỗi con sub trong chuỗi, tuỳ ý giới hạn trong [start:end], start là bao gồm và end là loại trừ.

Thông số

Thông số Mô tả
sub bắt buộc
Chuỗi con cần được tính.
start int; hoặc None; mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; mặc định là None
vị trí không bắt buộc mà trước đó để giới hạn đối với hoạt động tìm kiếm.

elems

sequence string.elems()

Trả về một giá trị có thể lặp lại chứa các chuỗi con gồm 1 phần tử liên tiếp của chuỗi. Tương đương với [s[i] for i in range(len(s))], ngoại trừ việc giá trị được trả về có thể không phải là danh sách.

endswith

bool string.endswith(sub, start=0, end=None)

Trả về True nếu chuỗi kết thúc bằng sub, ngược lại là False, không bắt buộc giới hạn ở [start:end], start là bao gồm và end là loại trừ.

Thông số

Thông số Mô tả
sub chuỗi; hoặc bộ dữ liệu gồm các chuỗi; bắt buộc
Hậu tố (hoặc bộ dữ liệu gồm các hậu tố thay thế) cần khớp.
start int; hoặc None; mặc định là 0
Kiểm thử bắt đầu tại vị trí này.
end int; hoặc None; giá trị mặc định là None
vị trí không bắt buộc để dừng so sánh.

tìm

int string.find(sub, start=0, end=None)

Trả về chỉ mục đầu tiên khi tìm thấy sub, hoặc -1 nếu không có chỉ mục nào như vậy tồn tại, tuỳ ý giới hạn ở [start:end], start là bao gồm và end là loại trừ.

Thông số

Thông số Mô tả
sub bắt buộc
Chuỗi con cần tìm.
start int; hoặc None; mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; mặc định là None
vị trí không bắt buộc trước khi hạn chế tìm kiếm.

định dạng

string string.format(*args, **kwargs)

Thực hiện nội suy chuỗi. Chuỗi định dạng chứa các trường thay thế được bao quanh bằng dấu ngoặc nhọn {}. Mọi giá trị không nằm trong dấu ngoặc nhọn đều được coi là văn bản cố định và được sao chép không đổi vào kết quả.Nếu cần thêm một ký tự dấu ngoặc nhọn vào văn bản đó, bạn có thể thoát bằng cách nhân đôi: {{}}Trường thay thế có thể là tên, số hoặc trường trống. Các giá trị được chuyển đổi thành chuỗi bằng hàm str.
# Access in order:
"{} < {}".format(4, 5) == "4 < 5"
# Access by position:
"{1}, {0}".format(2, 1) == "1, 2"
# Access by name:
"x{key}x".format(key = 2) == "x2x"

Thông số

Thông số Mô tả
args mặc định là ()
Danh sách đối số.
kwargs mặc định là {}
Từ điển đối số.

index

int string.index(sub, start=0, end=None)

Trả về chỉ mục đầu tiên tìm thấy sub hoặc báo lỗi nếu không có chỉ mục nào như vậy, có thể hạn chế [start:end]start bao gồm và end loại trừ.

Thông số

Thông số Mô tả
sub bắt buộc
Chuỗi con cần tìm.
start int; hoặc None; mặc định là 0
Chỉ tìm kiếm từ vị trí này.
end int; hoặc None; mặc định là None
vị trí không bắt buộc trước khi hạn chế tìm kiếm.

isalnum

bool string.isalnum()

Trả về True nếu tất cả ký tự trong chuỗi đều là chữ-số ([a-zA-Z0-9]) và có ít nhất một ký tự.

isalpha

bool string.isalpha()

Trả về True nếu tất cả các ký tự trong chuỗi đều là chữ cái ([a-zA-Z]) và có ít nhất một ký tự.

isdigit

bool string.isdigit()

Trả về True nếu tất cả ký tự trong chuỗi đều là chữ số ([0-9]) và có ít nhất một ký tự.

thấp hơn

bool string.islower()

Trả về True nếu tất cả ký tự viết hoa trong chuỗi đều là chữ thường và có ít nhất một ký tự.

dấu cách

bool string.isspace()

Trả về True nếu tất cả ký tự là ký tự khoảng trắng và chuỗi chứa ít nhất một ký tự.

tiêu đề

bool string.istitle()

Trả về True nếu chuỗi ở dạng viết hoa chữ cái đầu và có chứa ít nhất một ký tự. Điều này có nghĩa là mọi ký tự viết hoa phải theo sau một ký tự không viết hoa chữ thường (ví dụ: khoảng trắng) và mọi ký tự viết thường phải theo sau một ký tự được viết hoa (ví dụ: chữ hoa hoặc chữ thường).

isupper

bool string.isupper()

Trả về True nếu tất cả ký tự viết hoa trong chuỗi đều viết hoa và có ít nhất một ký tự.

kết hợp

string string.join(elements)

Trả về một chuỗi trong đó các phần tử chuỗi của đối số đã được nối bởi chuỗi này dưới dạng dòng phân cách. Ví dụ:
"|".join(["a", "b", "c"]) == "a|b|c"

Thông số

Thông số Mô tả
elements bắt buộc
Các đối tượng cần kết hợp.

thấp hơn

string string.lower()

Trả về phiên bản chữ thường của chuỗi này.

lstrip

string string.lstrip(chars=None)

Trả về bản sao của chuỗi mà trong đó các ký tự đứng đầu xuất hiện trong chars sẽ bị xoá. Lưu ý rằng chars không phải là tiền tố: tất cả các tổ hợp giá trị của tiền tố này sẽ bị xoá:
"abcba".lstrip("ba") == "cba"

Thông số

Thông số Mô tả
chars string; hoặc None; mặc định là None
Ký tự cần xoá hoặc tất cả khoảng trắng nếu Không có.

phân vùng

tuple string.partition(sep)

Tách chuỗi đầu vào ở lần xuất hiện đầu tiên của dấu phân cách sep và trả về phân vùng thu được dưới dạng một bộ dữ liệu gồm 3 phần tử của biểu mẫu (trước, dấu phân cách, sau). Nếu chuỗi nhập không chứa dòng phân cách, thì phân vùng sẽ trả về (self, '', '').

Thông số

Thông số Mô tả
sep bắt buộc
Chuỗi cần tách.

removeprefix

string string.removeprefix(prefix)

Nếu chuỗi bắt đầu bằng prefix, hãy trả về một chuỗi mới đã xoá tiền tố. Nếu không, hàm sẽ trả về chuỗi.

Thông số

Thông số Mô tả
prefix bắt buộc
Tiền tố cần xoá nếu có.

removesuffix

string string.removesuffix(suffix)

Nếu chuỗi kết thúc bằng suffix, thì hệ thống sẽ trả về một chuỗi mới đã xoá hậu tố. Nếu không, hàm sẽ trả về chuỗi.

Thông số

Thông số Mô tả
suffix bắt buộc
Hậu tố cần xoá (nếu có).

thay thế

string string.replace(old, new, count=-1)

Trả về một bản sao của chuỗi trong đó các lần xuất hiện của old đã được thay thế bằng new, có thể hạn chế số lần thay thế thành count.

Thông số

Thông số Mô tả
old bắt buộc
Chuỗi cần thay thế.
new bắt buộc
Chuỗi cần thay thế.
count mặc định là -1
Số lần thay thế tối đa. Nếu bạn bỏ qua hoặc nếu giá trị là số âm, thì trang này không có giới hạn.

rfind

int string.rfind(sub, start=0, end=None)

Trả về chỉ mục cuối cùng mà sub được tìm thấy hoặc -1 nếu không có chỉ mục nào như vậy, có thể hạn chế thành [start:end], start bao gồm và end loại trừ.

Thông số

Thông số Mô tả
sub bắt buộc
Chuỗi con cần tìm.
start int; hoặc None; mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; mặc định là None
vị trí không bắt buộc mà trước đó để giới hạn đối với hoạt động tìm kiếm.

rindex

int string.rindex(sub, start=0, end=None)

Trả về chỉ mục cuối cùng mà sub được tìm thấy hoặc báo lỗi nếu không có chỉ mục nào như vậy, có thể hạn chế ở [start:end], start bao gồm và end không bao gồm.

Thông số

Thông số Mô tả
sub bắt buộc
Chuỗi con cần tìm.
start int; hoặc None; mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; mặc định là None
vị trí không bắt buộc trước khi hạn chế tìm kiếm.

phân vùng

tuple string.rpartition(sep)

Tách chuỗi đầu vào ở lần xuất hiện cuối cùng của dấu phân cách sep và trả về phân vùng thu được dưới dạng bộ dữ liệu gồm 3 phần tử của biểu mẫu (trước, dấu phân cách, sau). Nếu chuỗi nhập vào không chứa dấu phân cách, phân vùng sẽ trả về ('', '',self).

Thông số

Thông số Mô tả
sep bắt buộc
Chuỗi cần phân tách.

rsplit

list string.rsplit(sep, maxsplit=None)

Trả về danh sách tất cả các từ trong chuỗi, sử dụng sep làm dấu phân cách, có thể giới hạn số lần phân tách thành maxsplit. Ngoại trừ việc tách từ bên phải, phương thức này hoạt động giống như split().

Thông số

Thông số Mô tả
sep bắt buộc
Chuỗi cần phân tách.
maxsplit int; hoặc None; mặc định là None
Số lần phân tách tối đa.

rstrip

string string.rstrip(chars=None)

Trả về bản sao của chuỗi mà trong đó các ký tự theo sau xuất hiện trong chars sẽ bị xoá. Lưu ý rằng chars không phải là hậu tố: mọi tổ hợp giá trị của nó đều bị xoá:
"abcbaa".rstrip("ab") == "abc"

Thông số

Thông số Mô tả
chars string; hoặc None; mặc định là None
Ký tự cần xoá hoặc tất cả khoảng trắng nếu Không có.

phân tách

list string.split(sep, maxsplit=None)

Trả về danh sách tất cả các từ trong chuỗi, sử dụng sep làm dòng phân cách và tuỳ ý giới hạn số phần tách thành maxsplit.

Thông số

Thông số Mô tả
sep bắt buộc
Chuỗi cần phân tách.
maxsplit int; hoặc None; mặc định là None
Số lần phân tách tối đa.

dòng phân tách

sequence string.splitlines(keepends=False)

Phân tách chuỗi tại ranh giới dòng ("\n", "\r\n", "\r") và trả về kết quả dưới dạng danh sách có thể thay đổi mới.

Thông số

Thông số Mô tả
keepends mặc định là False
Liệu các dấu ngắt dòng có được đưa vào danh sách kết quả hay không.

startswith

bool string.startswith(sub, start=0, end=None)

Trả về True nếu chuỗi bắt đầu bằng sub, nếu không thì trả về False, có thể hạn chế ở [start:end], start bao gồm và end không bao gồm.

Thông số

Thông số Mô tả
sub chuỗi; hoặc bộ dữ liệu gồm các chuỗi; bắt buộc
Tiền tố (hoặc bộ dữ liệu gồm các tiền tố thay thế) để so khớp.
start int; hoặc None; mặc định là 0
Kiểm thử bắt đầu tại vị trí này.
end int; hoặc None; mặc định là None
Ngừng so sánh tại vị trí này.

dải

string string.strip(chars=None)

Trả về một bản sao của chuỗi đã xoá các ký tự đầu hoặc cuối xuất hiện trong chars. Xin lưu ý rằng chars không phải là tiền tố hay hậu tố: tất cả các tổ hợp của giá trị này sẽ bị xoá:
"aabcbcbaa".strip("ab") == "cbc"

Thông số

Thông số Mô tả
chars string; hoặc None; mặc định là None
Ký tự cần xoá hoặc tất cả khoảng trắng nếu Không có.

tiêu đề

string string.title()

Chuyển đổi chuỗi đầu vào thành kiểu viết hoa chữ cái đầu, tức là mỗi từ bắt đầu bằng một chữ cái viết hoa còn các chữ cái còn lại là chữ thường. Trong ngữ cảnh này, từ có nghĩa là một chuỗi chữ cái hoàn toàn. Phương thức này không hỗ trợ các ký tự bổ sung Unicode.

cao hơn

string string.upper()

Trả về phiên bản viết hoa của chuỗi này.