String

Lưu văn bản viết trong dấu nháy hoặc chuyển bằng str(value). Không thể sửa trực tiếp chuỗi; các phương thức chuỗi trả về giá trị mới. Vị trí và độ dài đếm theo mã Unicode: một emoji là một vị trí, nhưng chữ kèm dấu tách riêng hay emoji ghép có thể chiếm nhiều vị trí.

Cú pháp

String

Không thể khởi tạo trực tiếp lớp này.

Giá trị trả về

—

Ví dụ

name = "Start"
if name:
    first_char = name[0]
    text(first_char)

Phương thức

24 phương thức

String.literal

Tạo chuỗi trực tiếp bằng dấu nháy đơn hoặc nháy kép.

Cú pháp

"hello"

Tham số

TênMô tả
textString
Nội dung chuỗi đặt trong dấu nháy.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

String — Một giá trị chuỗi mới.

Ví dụ

label = "Start"
text(label)

String.cast

Chuyển giá trị thành văn bản. Collection lớn hoặc giá trị lồng quá sâu được rút gọn và có dấu báo phần bị lược; chuỗi truyền trực tiếp được giữ nguyên.

Cú pháp

str(value, /)

Tham số

TênMô tả
valueAny?
Giá trị cần chuyển sang chuỗi.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

String — Giá trị chuỗi sau khi chuyển đổi.

Ví dụ

attempt = 3
line = str(attempt)

String.length

Đếm số ký tự đang có trong chuỗi.

Cú pháp

len(string, /)

Tham số

TênMô tả
stringString
Giá trị chuỗi cần đếm.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

Int — Số lượng ký tự.

Ví dụ

label = "Play"
count = len(label)        # trả về 4

String.index_access

Đọc một ký tự theo vị trí, bắt đầu từ 0. Chỉ số âm đếm từ cuối: -1 là vị trí cuối.

Cú pháp

string[index]

Tham số

TênMô tả
stringString
Chuỗi nguồn.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
indexInt
Vị trí ký tự: 0 là đầu tiên, -1 là cuối cùng.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

String — Chuỗi một ký tự. Báo IndexError nếu vị trí nằm ngoài chuỗi.

Ví dụ

label = "Play"
first = label[0]          # trả về 'P'
last = label[-1]          # trả về 'y'

String.slice

Trả về chuỗi mới từ start đến trước end. Chỉ số âm đếm từ cuối. Khi bỏ trống hai biên, lấy toàn bộ chuỗi theo chiều của step.

Cú pháp

string[start:end[:step]]

Tham số

TênMô tả
startInt?
Chỉ số ký tự đầu tiên được lấy.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: start of string
endInt
Dừng trước chỉ số ký tự này.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: end of string
stepInt
Khoảng cách giữa các ký tự. Không được bằng 0; giá trị âm đọc ngược.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: 1

Giá trị trả về

String — Một đoạn chuỗi mới, được giới hạn trong phạm vi hiện có.

Ví dụ

label = "abcdef"
middle = label[1:4]       # trả về 'bcd'
tail = label[-3:]         # trả về 'def'
reverse = label[::-1]     # trả về 'fedcba'

String.lower_method

Trả về bản sao chuỗi viết thường.

Cú pháp

string.lower()

Giá trị trả về

String — Chuỗi viết thường.

Ví dụ

label = "PLAY"
text(label.lower())

String.upper_method

Trả về bản sao chuỗi viết hoa.

Cú pháp

string.upper()

Giá trị trả về

String — Chuỗi viết hoa.

Ví dụ

label = "play"
text(label.upper())

String.strip_method

Cắt khoảng trắng, hoặc các ký tự đã truyền, ở hai đầu chuỗi.

Cú pháp

string.strip(chars=None, /)

Tham số

TênMô tả
charsString?
Xóa liên tiếp từng ký tự thuộc chuỗi này ở các đầu được chọn, không xóa cả chuỗi chars như một tiền tố hay hậu tố.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: None

Giá trị trả về

String — Chuỗi sau khi cắt.

Ví dụ

label = "  Play  "
clean = label.strip()

String.lstrip_method

Cắt khoảng trắng, hoặc các ký tự đã truyền, ở đầu bên trái.

Cú pháp

string.lstrip(chars=None, /)

Tham số

TênMô tả
charsString?
Xóa liên tiếp từng ký tự thuộc chuỗi này ở các đầu được chọn, không xóa cả chuỗi chars như một tiền tố hay hậu tố.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: None

Giá trị trả về

String — Chuỗi sau khi cắt bên trái.

Ví dụ

label = "...Play"
clean = label.lstrip(".")

String.rstrip_method

Cắt khoảng trắng, hoặc các ký tự đã truyền, ở đầu bên phải.

Cú pháp

string.rstrip(chars=None, /)

Tham số

TênMô tả
charsString?
Xóa liên tiếp từng ký tự thuộc chuỗi này ở các đầu được chọn, không xóa cả chuỗi chars như một tiền tố hay hậu tố.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: None

Giá trị trả về

String — Chuỗi sau khi cắt bên phải.

Ví dụ

label = "Play..."
clean = label.rstrip(".")

String.startswith_method

Kiểm tra phần chuỗi được chọn có bắt đầu bằng prefix hay không, có phân biệt chữ hoa và chữ thường.

Cú pháp

string.startswith(prefix, start=0, stop=len(string), /)

Tham số

TênMô tả
prefixString | tuple
Văn bản hoặc tuple các văn bản có thể khớp; True nếu một văn bản khớp ở đầu.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
startInt?
Vị trí đầu tiên được lấy, bắt đầu từ 0. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: 0
stopInt?
Dừng trước vị trí này. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: len(string)

Giá trị trả về

Boolean — true khi tiền tố khớp.

Ví dụ

label = "Play"
ready = label.startswith("Pl")

String.endswith_method

Kiểm tra phần chuỗi được chọn có kết thúc bằng suffix hay không, có phân biệt chữ hoa và chữ thường.

Cú pháp

string.endswith(suffix, start=0, stop=len(string), /)

Tham số

TênMô tả
suffixString | tuple
Văn bản hoặc tuple các văn bản có thể khớp; True nếu một văn bản khớp ở cuối.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
startInt?
Vị trí đầu tiên được lấy, bắt đầu từ 0. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: 0
stopInt?
Dừng trước vị trí này. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: len(string)

Giá trị trả về

Boolean — true khi hậu tố khớp.

Ví dụ

label = "Play"
ready = label.endswith("ay")

String.find_method

Tìm chỉ số xuất hiện đầu tiên của chuỗi con, hoặc trả về -1 nếu không có.

Cú pháp

string.find(sub, start=0, stop=len(string), /)

Tham số

TênMô tả
subString
Chuỗi con cần tìm.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
startInt?
Vị trí bắt đầu tìm, tính từ 0. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: 0
stopInt?
Dừng tìm trước vị trí này. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: len(string)

Giá trị trả về

Int — Vị trí khớp đầu tiên trong chuỗi gốc, tính từ 0, hoặc -1 nếu không có.

Ví dụ

label = "start button"
index = label.find("button")

String.index_method

Trả về vị trí khớp đầu tiên trong chuỗi gốc, hoặc báo ValueError nếu phần được chọn không chứa sub.

Cú pháp

string.index(sub, start=0, stop=len(string), /)

Tham số

TênMô tả
subString
Chuỗi con bắt buộc phải tồn tại.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
startInt?
Vị trí bắt đầu tìm, tính từ 0. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: 0
stopInt?
Dừng tìm trước vị trí này. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: len(string)

Giá trị trả về

Int — Chỉ số khớp đầu tiên.

Ví dụ

label = "start button"
index = label.index("button")

String.replace_method

Trả về bản sao với các lần xuất hiện của chuỗi cũ được thay thế.

Cú pháp

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

Tham số

TênMô tả
oldString
Văn bản cần thay, không tính các lần khớp chồng lấn. Chuỗi rỗng chèn new tại các ranh giới ký tự, tối đa theo count.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
newString
Chuỗi thay thế.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
countInt
Số lần thay tối đa; số âm nghĩa là tất cả.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: -1

Giá trị trả về

String — Bản sao chuỗi sau khi thay.

Ví dụ

label = "start start"
once = label.replace("start", "play", 1)

String.split_method

Trả về list các phần văn bản được tách tại sep. Với sep=None, nhóm khoảng trắng là một dấu phân tách và bỏ khoảng trắng đầu; sau maxsplit lần tách, phần còn lại được giữ thành một phần.

Cú pháp

string.split(sep=None, maxsplit=-1)

Tham số

TênMô tả
sepString?
Văn bản phân tách; chuỗi phân tách rỗng gây ValueError. None tách theo các nhóm khoảng trắng.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: None
maxsplitInt
Số lần tách tối đa; số âm nghĩa là tất cả.
Tùy chọn · Theo vị trí hoặc tên
Mặc định: -1

Giá trị trả về

list — List các phần chuỗi.

Ví dụ

raw = "a,b,c"
parts = raw.split(",")

String.join_method

Nối các chuỗi từ nguồn có thể lặp qua, dùng chuỗi này để ngăn cách chúng. Phần tử không phải chuỗi sẽ gây lỗi.

Cú pháp

string.join(iterable, /)

Tham số

TênMô tả
iterableIterable<String>
Các chuỗi cần nối.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định

Giá trị trả về

String — Chuỗi sau khi nối.

Ví dụ

parts = ["a", "b", "c"]
line = ",".join(parts)

String.count_method

Đếm số lần xuất hiện không chồng lấn của chuỗi con.

Cú pháp

string.count(sub, start=0, stop=len(string), /)

Tham số

TênMô tả
subString
Văn bản cần đếm. Chuỗi rỗng khớp tại mỗi ranh giới, nên số lần bằng độ dài phần được chọn cộng 1.
Bắt buộc · Chỉ truyền theo vị trí
Không có giá trị mặc định
startInt?
Vị trí bắt đầu đếm, tính từ 0. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: 0
stopInt?
Dừng đếm trước vị trí này. Số âm đếm từ cuối; biên vượt phạm vi được giới hạn trong phần hiện có.
Tùy chọn · Chỉ truyền theo vị trí
Mặc định: len(string)

Giá trị trả về

Int — Số lần xuất hiện.

Ví dụ

label = "banana"
count = label.count("an")

String.isalpha_method

Kiểm tra chuỗi không rỗng và mọi ký tự đều là chữ cái.

Cú pháp

string.isalpha()

Giá trị trả về

Boolean — true khi chỉ có chữ cái.

Ví dụ

label = "Play"
ok = label.isalpha()

String.isdigit_method

Kiểm tra chuỗi không rỗng và mọi ký tự đều là chữ số Unicode, gồm cả chữ số mũ và chữ số khoanh tròn.

Cú pháp

string.isdigit()

Giá trị trả về

Boolean — true khi chỉ có chữ số.

Ví dụ

value = "123"
ok = value.isdigit()

String.isalnum_method

Kiểm tra chuỗi không rỗng và mọi ký tự đều là chữ cái hoặc ký tự số Unicode, gồm cả phân số.

Cú pháp

string.isalnum()

Giá trị trả về

Boolean — True khi chỉ có chữ cái hoặc ký tự số; False nếu chuỗi rỗng.

Ví dụ

value = "A123"
ok = value.isalnum()

String.isspace_method

Kiểm tra chuỗi không rỗng và mọi ký tự đều là khoảng trắng.

Cú pháp

string.isspace()

Giá trị trả về

Boolean — true khi chỉ có khoảng trắng.

Ví dụ

value = "   "
ok = value.isspace()

String.for_loop

Lặp từng ký tự từ trái sang phải.

Cú pháp

for ch in string:

Tham số

TênMô tả
chString
Ký tự hiện tại trong vòng lặp.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định
stringString
Chuỗi cần lặp.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

None — Không trả về trực tiếp. Chạy một lần cho mỗi ký tự.

Ví dụ

word = "Go"
for ch in word:
    text(ch)

String.truthy_check

Kiểm tra chuỗi đang rỗng hay có nội dung.

Cú pháp

if string | if not string

Tham số

TênMô tả
stringString
Chuỗi được dùng trong điều kiện.
Bắt buộc · Theo vị trí hoặc tên
Không có giá trị mặc định

Giá trị trả về

Boolean condition — true khi không rỗng, false khi rỗng.

Ví dụ

value = ""
if not value:
    text("empty")