string

Báo cáo vấn đề Xem nguồn Nightly · 7.4 . 7.3 · 7,2 · 7.1 · 7 · 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 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 string; bắt buộc
Chuỗi con cần đếm.
start int; hoặc None; giá trị mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; giá trị mặc định là None
vị trí tuỳ chọn trước đó để giới hạn tìm kiếm.

người

sequence string.elems()

Trả về một giá trị lặp lại chứa 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ị trả về có thể không phải là một 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 string; hoặc bộ dữ liệu của chuỗi; bắt buộc
Hậu tố (hoặc bộ hậu 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; 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 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
Chỉ tìm kiếm từ vị trí này.
end int; hoặc None; giá trị 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ởi 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 thay đổi vào kết quả.Nếu cần thêm ký tự dấu ngoặc nhọn trong 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 cách sử dụ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 giá trị 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 string; bắt buộc
Chuỗi con cần tìm.
start int; hoặc None; giá trị mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; giá trị mặc định là None
vị trí tuỳ chọn trước đó để giới hạn tìm kiếm.

isalnum

bool string.isalnum()

Trả về True nếu tất cả các ký tự trong chuỗi là chữ và 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ự.

islower

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ự đề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 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).

bữa tối

bool string.isupper()

Trả về True nếu tất cả ký tự được viết hoa trong chuỗi đều được 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ề bản sao của chuỗi mà trong đó các ký tự ở đầ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
Các ký tự cần xoá hoặc tất cả dấu cách 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 đầu 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 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 thì sẽ 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ề 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ể giới hạn 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 được 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 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 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; giá trị mặc định là None
vị trí tuỳ chọn trước đó để giới hạn tìm kiếm.

chỉ mục

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

Trả về chỉ mục cuối cùng 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 ở [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; giá trị mặc định là 0
Hạn chế tìm kiếm từ vị trí này.
end int; hoặc None; giá trị mặc định là None
vị trí tuỳ chọn trước đó để giới hạn 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òng phân cách và tuỳ ý giới hạn số 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 string; bắt buộc
Chuỗi cần tách.
maxsplit int; hoặc None; giá trị mặc định là None
Số lượt phân tách tối đa.

câu lệnh 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ố: tất cả 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; giá trị mặc định là None
Ký tự cần xoá hoặc tất cả khoảng trắng nếu Không có.

chia 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 string; 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)

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

Thông số

Thông số Mô tả
keepends bool; giá trị mặc định là False
Liệu các 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; giá trị mặc định là 0
Thử nghiệm 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ố: mọi tổ hợp giá trị của nó đều 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 nhập 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 trong khi 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ự Unicode bổ sung.

cao hơn

string string.upper()

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