string

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

Loại ngôn ngữ tích hợp để 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"]
Bạn không được phép nối ngầm các chuỗi. Thay vào đó, hãy sử dụng toán tử +. Toán tử so sánh thực hiện so sánh theo thứ tự bảng chữ cái; sử dụng == để kiểm tra xem có bằng nhau hay không.

Hội viên

viết hoa

string string.capitalize()

Trả về một bản sao của chuỗi có ký tự đầu tiên (nếu có) được viết hoa và các ký tự 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, 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 chuỗi; bắt buộc
Chuỗi con cần được tính.
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 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; mặc định là None
vị trí không bắt buộc mà bạn có thể ngừng so sánh.

tìm

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

Trả về chỉ mục đầu tiên tìm thấy sub hoặc -1 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 string; 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.

đị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 nội dung không nằm trong dấu ngoặc nhọn đều được coi là văn bản cố định, được sao chép nguyên trạng vào kết quả.Nếu bạn cần đưa ký tự dấu ngoặc nhọn vào văn bản cố định, bạn có thể thoát ký tự đó bằng cách nhân đôi: {{}}Trường thay thế có thể là tên, số hoặc 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 các đố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 khi tìm thấy sub, hoặc đưa ra lỗi nếu không có chỉ mục nào như vậy tồn tại, tuỳ ý giới hạn ở mức [start:end]start là bao gồm và end là loại trừ.

Thông số

Thông số Mô tả
sub string; 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ả ký tự trong chuỗi đều là ký tự 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ự.

isspace

bool string.isspace()

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

istitle

bool string.istitle()

Trả về True nếu chuỗi ở dạng viết hoa đầu tiên và 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 (ví dụ: khoảng trắng) và mọi ký tự viết thường phải theo sau một ký tự viết hoa (ví dụ: viết hoa hoặc viết 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 với nhau bằng chuỗi này làm dấu 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ề một bản sao của chuỗi đã xoá các ký tự đầu xuất hiện trong chars. Lưu ý chars không phải là tiền tố: mọi tổ hợp giá trị của nó đều 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)

Phân tách chuỗi đầu vào tại 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 kết quả dưới dạng một bộ ba phần tử có dạng (trước, dấu phân cách, sau). Nếu chuỗi đầu vào không chứa dấu phân cách, thì partition sẽ trả về (self, "", "").

Thông số

Thông số Mô tả
sep string; 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, trả về chuỗi.

Thông số

Thông số Mô tả
prefix string; 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, trả về chuỗi.

Thông số

Thông số Mô tả
suffix string; 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 string; bắt buộc
Chuỗi cần thay thế.
new string; bắt buộc
Chuỗi cần thay thế.
count int; 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à âm, thì sẽ 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 string; 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.

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 string; 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.

rpartition

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 đầu vào không chứa dấu phân cách, rpartition sẽ trả về ('', '', self).

Thông số

Thông số Mô tả
sep string; 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 ở bên phải, phương thức này hoạt động như Split().

Thông số

Thông số Mô tả
sep string; bắt buộc
Chuỗi cầ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ề một bản sao của chuỗi đã xoá các ký tự cuối xuất hiện trong chars. Xin lưu ý rằng chars không phải là hậu tố: tất cả các tổ hợp của giá trị này sẽ bị xoá:
"abcbaa".rstrip("ab") == "abc"

Thông số

Thông số Mô tả
chars string; hoặc None; mặc định là None
Các ký tự cần xoá hoặc tất cả dấu cách 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ấu phân cách, có thể giới hạn số lần phân tách thành maxsplit.

Thông số

Thông số Mô tả
sep string; bắt buộc
Chuỗi cầ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 bool; mặc định là False
Liệu các ngắt dòng có được đưa vào danh sách thu được 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 là False, 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 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
Dừng so sánh ở 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
Các ký tự cần xoá hoặc tất cả dấu cách 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. 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.