string

Báo cáo vấn đề Xem nguồn Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Một loại ngôn ngữ tích hợp để hỗ trợ các chuỗi. Ví dụ về chuỗi ký tự:

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"
Các 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 chúng. Ví dụ:
"bc" in "abcd"   # evaluates to True
x = [c for c in "abc".elems()]  # x == ["a", "b", "c"]
Không được phép nối chuỗi một cách ngầm ẩn; thay vào đó, hãy dùng toán tử +. Toán tử so sánh thực hiện so sánh theo từ điển; hãy dùng == để kiểm tra tính bằng nhau.

Hội viên

viết hoa

string string.capitalize()

Trả về bản sao của chuỗi có 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 là 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ể giới hạn ở [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 đế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.

elems

sequence string.elems()

Trả về một giá trị có thể lặp lại chứa các chuỗi con liên tiếp có 1 phần tử 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à 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 thì trả về False, bạn có thể hạn chế phạm vi từ [start:end] đến start (bao gồm) và end (không bao gồm).

Thông số

Thông số Mô tả
sub string; hoặc tuple của strings; required
Hậu tố (hoặc bộ gồm các hậu tố thay thế) cần khớp.
start int; hoặc None; mặc định là 0
Thử nghiệm 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 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 đặt trong 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 nguyên trạng và được sao chép nguyên trạng vào đầu ra.Nếu bạn cần thêm ký tự dấu ngoặc nhọn vào văn bản nguyên trạng, 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 đố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 đưa ra lỗi nếu không có chỉ mục nào như vậy, tuỳ chọn 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.

isalnum

bool string.isalnum()

Trả về True nếu tất cả ký tự trong chuỗi đều 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ả 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ả các ký tự có phân biệt chữ hoa chữ thường 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 chữ cái đầu và có í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 phân biệt chữ 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ự phân biệt chữ hoa chữ thường (ví dụ: chữ hoa hoặc chữ thường).

isupper

bool string.isupper()

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

join

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ằ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 required
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, trong đó các ký tự đầu xuất hiện trong chars sẽ bị xoá. Xin 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 đề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
Các ký tự cần xoá hoặc tất cả khoảng trắng nếu không có ký tự nào.

phân vùng

tuple string.partition(sep)

Chia 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ộ gồm 3 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ì hàm 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.

removeprefix

string string.removeprefix(prefix)

Nếu chuỗi bắt đầu bằng prefix, hàm sẽ 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 required
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, hàm 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 required
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, bạn có thể tuỳ ý giới hạn 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 required
Chuỗi cần thay thế.
count mặc định là -1
Số lượng thay thế tối đa. Nếu bạn bỏ qua hoặc nếu giá trị là số â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 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ế thành [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.

rindex

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

Trả về chỉ mục cuối cùng tìm thấy sub hoặc phát sinh lỗi nếu không có chỉ mục nào như vậy, tuỳ chọn 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.

rpartition

tuple string.rpartition(sep)

Chia chuỗi đầu vào tại 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 kết quả dưới dạng một bộ gồm 3 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, rpartition 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, bạn có thể tuỳ ý giới hạn số lần phân tách thành maxsplit. Ngoại trừ việc phân 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ượng phân chia tối đa.

rstrip

string string.rstrip(chars=None)

Trả về bản sao của chuỗi, trong đó các ký tự ở cuối xuất hiện trong chars sẽ bị xoá. Xin lưu ý rằng chars không phải là một hậu tố: tất cả các tổ hợp giá trị của hậu tố này đề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
Các ký tự cần xoá hoặc tất cả khoảng trắng nếu không có ký tự nào.

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, bạn có thể tuỳ ý giới hạn số lần 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ượng phân chia tối đa.

splitlines

sequence string.splitlines(keepends=False)

Chia chuỗi tạ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 mặc định là False
Có nên thêm dấu ngắt dòng 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, ngược lại là False, bạn có thể tuỳ ý hạn chế thành [start:end], start (bao gồm) và end (không bao gồm).

Thông số

Thông số Mô tả
sub string; hoặc tuple của strings; required
Tiền tố (hoặc bộ tiền tố thay thế) cần so khớp.
start int; hoặc None; 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 tại vị trí này.

dải

string string.strip(chars=None)

Trả về bản sao của chuỗi, trong đó các ký tự đầu hoặc cuối xuất hiện trong chars sẽ bị xoá. Xin lưu ý rằng chars không phải là tiền tố cũng không phải là hậu tố: tất cả các tổ hợp giá trị của chars đề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ả khoảng trắng nếu không có ký tự nào.

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