สตริง

รายงานปัญหา ดูแหล่งที่มา รุ่น Nightly · 7.4 7.3 · 7.2 · 7.1 · 7.0 · 6.5

ประเภทภาษาที่มีมาในตัวเพื่อรองรับสตริง ตัวอย่างสัญพจน์ของสตริง:

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"
สตริงไม่สามารถทำซ้ำได้โดยตรง ให้ใช้เมธอด .elems() เพื่อทำซ้ำอักขระของสตริง ตัวอย่าง
"bc" in "abcd"   # evaluates to True
x = [c for c in "abc".elems()]  # x == ["a", "b", "c"]
ไม่อนุญาตให้ใช้การต่อสตริงโดยนัย ให้ใช้โอเปอเรเตอร์ + แทน โอเปอเรเตอร์การเปรียบเทียบจะทำการเปรียบเทียบแบบพจนานุกรม ใช้ == เพื่อทดสอบความเท่าเทียม

สมาชิก

ตัวพิมพ์ใหญ่

string string.capitalize()

แสดงผลสำเนาของสตริงโดยมีอักขระตัวแรก (หากมี) เป็นตัวพิมพ์ใหญ่ และส่วนที่เหลือจะเป็นตัวพิมพ์เล็ก วิธีนี้ไม่รองรับอักขระที่ไม่ใช่ ASCII

จำนวน

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

แสดงจํานวนครั้งที่สตริงย่อย sub ปรากฏ (ไม่ซ้อนทับกัน) ในสตริง โดยสามารถเลือกจํากัดให้อยู่ในช่วง [start:end] โดยที่ start จะรวมและ end จะยกเว้น

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; ต้องระบุ
สตริงย่อยที่จะนับ
start int; หรือ None; ค่าเริ่มต้นคือ 0
จำกัดเฉพาะการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตําแหน่งที่ไม่บังคับก่อนการจํากัดการค้นหา

เอล์ม

sequence string.elems()

แสดงผลค่าที่ซ้ำกันได้ซึ่งประกอบด้วยสตริงย่อยที่มีองค์ประกอบ 1 องค์ประกอบต่อเนื่องกันของสตริง เทียบเท่ากับ [s[i] for i in range(len(s))] เว้นแต่ว่าค่าที่ส่งคืนอาจไม่ใช่รายการ

endswith

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

แสดงผลเป็น "จริง" หากสตริงลงท้ายด้วย sub มิเช่นนั้นแสดงผลเป็น "เท็จ" โดยสามารถเลือกจำกัดให้ใช้เฉพาะ [start:end] ได้ โดย start จะรวมทุกค่าไว้ และ end จะรวมเฉพาะบางค่า

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; หรือ tuple สตริง จำเป็น
คำต่อท้าย (หรือ Tuple ของคำต่อท้ายอื่นๆ) ที่จะจับคู่
start int หรือ None ค่าเริ่มต้นคือ 0
การทดสอบเริ่มต้นที่ตําแหน่งนี้
end int; หรือ None; ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับซึ่งจะใช้หยุดการเปรียบเทียบ

ค้นหา

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

แสดงผลดัชนีแรกที่พบ sub หรือ -1 หากไม่มีดัชนีดังกล่าว โดยสามารถเลือกจำกัดให้แสดงเฉพาะ [start:end], start แบบรวม และ end แบบไม่รวม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; ต้องระบุ
สตริงย่อยที่จะค้นหา
start int; หรือ None; ค่าเริ่มต้นคือ 0
จำกัดเฉพาะการค้นหาจากตำแหน่งนี้
end int; หรือ None; ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา

รูปแบบ

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

ทำการประมาณค่าในช่วงสตริง สตริงในการจัดรูปแบบมีช่องแทนที่ล้อมรอบด้วยวงเล็บปีกกา {} สิ่งที่ไม่ได้อยู่ในวงเล็บปีกกาจะถือว่าเป็นข้อความตามตัวอักษร ซึ่งจะถูกคัดลอกโดยไม่เปลี่ยนแปลงไปยังเอาต์พุต หากคุณต้องใส่วงเล็บปีกกาในข้อความตามตัวอักษร สามารถใช้ Escape ได้โดยเพิ่มเป็น 2 ทาง: {{ และ }}ช่องการแทนที่อาจเป็นชื่อ ตัวเลข หรือเว้นว่างไว้ก็ได้ ระบบจะแปลงค่าเป็นสตริงโดยใช้ฟังก์ชัน 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"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
args ค่าเริ่มต้นคือ ()
รายการอาร์กิวเมนต์
kwargs ค่าเริ่มต้นคือ {}
พจนานุกรมของอาร์กิวเมนต์

ดัชนี

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

แสดงผลดัชนีแรกที่พบ sub หรือเพิ่มข้อผิดพลาดหากไม่มีดัชนีดังกล่าว หรือจำกัดให้มี [start:end]start ที่รวมอยู่และ end รวม (ไม่บังคับ)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; ต้องระบุ
สตริงย่อยที่จะค้นหา
start int หรือ None ค่าเริ่มต้นคือ 0
จำกัดให้ค้นหาจากตำแหน่งนี้
end int; หรือ None; ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา

isalnum

bool string.isalnum()

แสดงค่า "จริง" หากอักขระทั้งหมดในสตริงเป็นตัวอักษรและตัวเลขคละกัน ([a-zA-Z0-9]) และมีอักขระอย่างน้อย 1 ตัว

isalpha

bool string.isalpha()

แสดงค่า True หากอักขระทั้งหมดในสตริงเป็นตัวอักษร ([a-zA-Z]) และมีอักขระอย่างน้อย 1 ตัว

isdigit

bool string.isdigit()

แสดงค่า "จริง" หากอักขระทั้งหมดในสตริงเป็นตัวเลข ([0-9]) และมีอักขระอย่างน้อย 1 ตัว

islower

bool string.islower()

แสดงค่า "จริง" หากอักขระที่มีตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ทั้งหมดในสตริงเป็นตัวพิมพ์เล็กและมีอักขระอย่างน้อย 1 ตัว

Isspace

bool string.isspace()

แสดงค่า True หากอักขระทั้งหมดเป็นอักขระเว้นวรรคและสตริงมีอักขระอย่างน้อย 1 ตัว

istitle

bool string.istitle()

แสดงค่า "จริง" หากสตริงอยู่ในลักษณะตัวพิมพ์ของหัวข้อและมีอักขระอย่างน้อย 1 ตัว ซึ่งหมายความว่าอักขระตัวพิมพ์ใหญ่ทุกตัวจะต้องตามหลังอักขระที่ไม่ได้พิมพ์เล็ก (เช่น ช่องว่าง) และทุกอักขระตัวพิมพ์เล็กจะต้องตามหลังอักขระตัวพิมพ์เล็กใหญ่ (เช่น ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก)

Isupper

bool string.isupper()

แสดงค่า "จริง" หากอักขระที่มีตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ทั้งหมดในสตริงเป็นตัวพิมพ์ใหญ่และมีอักขระอย่างน้อย 1 ตัว

ผนวก

string string.join(elements)

แสดงผลสตริงที่องค์ประกอบสตริงของอาร์กิวเมนต์เชื่อมต่อกันโดยใช้สตริงนี้เป็นตัวคั่น ตัวอย่าง:
"|".join(["a", "b", "c"]) == "a|b|c"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
elements ต้องระบุ
ออบเจ็กต์ที่จะเข้าร่วม

ต่ำกว่า

string string.lower()

แสดงผลสตริงนี้เวอร์ชันตัวพิมพ์เล็ก

แถบฟิล์ม

string string.lstrip(chars=None)

แสดงผลสำเนาของสตริงซึ่งนำอักขระนำหน้าที่ปรากฏใน chars ออก โปรดทราบว่า chars ไม่ใช่คำนำหน้า ระบบจะนำชุดค่าผสมทั้งหมดของค่านี้ออก
"abcba".lstrip("ba") == "cba"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
chars string; หรือ None; ค่าเริ่มต้นคือ None
อักขระที่จะนำออก หรือช่องว่างทั้งหมดหากไม่มี

พาร์ติชัน

tuple string.partition(sep)

แยกสตริงอินพุตที่ตำแหน่งแรกของตัวคั่น sep และแสดงผลพาร์ติชันผลลัพธ์เป็น 3 องค์ประกอบทั้งหมดของแบบฟอร์ม (ก่อน ตัวคั่น หลัง) หากสตริงอินพุตไม่มีตัวคั่น พาร์ติชันจะแสดงผลเป็น (self, '', '')

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; ต้องระบุ
สตริงที่จะแบ่ง

removeprefix

string string.removeprefix(prefix)

หากสตริงขึ้นต้นด้วย prefix ระบบจะแสดงสตริงใหม่ที่มีการนำคำนำหน้าออก หรือไม่เช่นนั้น จะแสดงสตริง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
prefix string; ต้องระบุ
คำนำหน้าที่จะนำออก หากมี

removesuffix

string string.removesuffix(suffix)

หากสตริงลงท้ายด้วย suffix จะแสดงผลสตริงใหม่ที่มีการนำส่วนต่อท้ายออก หรือไม่เช่นนั้น จะแสดงสตริง

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
suffix string; required
ส่วนต่อท้ายที่จะนําออกหากมี

แทนที่

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

แสดงผลสําเนาของสตริงที่มีการแทนที่ old ด้วย new โดยอาจจํากัดจํานวนการแทนที่ไว้ที่ count

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
old string; ต้องระบุ
สตริงที่จะถูกแทนที่
new string; required
สตริงที่จะแทนที่
count int; ค่าเริ่มต้นคือ -1
จำนวนการแทนที่สูงสุด หากละเว้นหรือค่าเป็นลบ จะไม่มีขีดจำกัด

rfind

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

แสดงผลอินเด็กซ์สุดท้ายที่พบ sub หรือ -1 หากไม่มีอินเด็กซ์ดังกล่าว โดยสามารถเลือกจำกัดให้แสดงผลเฉพาะ [start:end], start แบบรวม และ end แบบไม่รวม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; ต้องระบุ
สตริงย่อยที่จะค้นหา
start int; หรือ None; ค่าเริ่มต้นคือ 0
จำกัดเฉพาะการค้นหาจากตำแหน่งนี้
end int; หรือ None; ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา

rindex

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

แสดงผลดัชนีล่าสุดที่พบ sub หรือเพิ่มข้อผิดพลาดหากไม่มีดัชนีดังกล่าว จำกัด [start:end], start ที่รวมอยู่ และ end รวม (ไม่บังคับ)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; ต้องระบุ
สตริงย่อยที่จะค้นหา
start int; หรือ None; ค่าเริ่มต้นคือ 0
จำกัดเฉพาะการค้นหาจากตำแหน่งนี้
end int; หรือ None; ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา

พาร์ติชัน

tuple string.rpartition(sep)

แยกสตริงอินพุตที่ตำแหน่งที่พบตัวคั่น sep ครั้งล่าสุด และแสดงผลพาร์ติชันที่ได้เป็นทูเปิล 3 องค์ประกอบของรูปแบบ (ก่อน ตัวคั่น หลัง) หากสตริงอินพุตไม่มีตัวคั่น rpartition จะแสดงผล ('', '', self)

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; ต้องระบุ
สตริงที่จะแบ่ง

rsplit

list string.rsplit(sep, maxsplit=None)

แสดงรายการคำทั้งหมดในสตริงโดยใช้ sep เป็นตัวคั่น โดยเลือกจำกัดจำนวนการแยกเป็น maxsplit ยกเว้นการแยกจากด้านขวา วิธีการนี้จะทํางานเหมือนกับ split()

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; ต้องระบุ
สตริงที่จะแบ่ง
maxsplit int; หรือ None; ค่าเริ่มต้นคือ None
จำนวนการแยกสูงสุด

แถบสี

string string.rstrip(chars=None)

แสดงผลสําเนาของสตริงที่ลบอักขระต่อท้ายที่ปรากฏใน chars ออก โปรดทราบว่า chars ไม่ใช่ส่วนต่อท้าย ระบบจะนำชุดค่าผสมทั้งหมดของค่านี้ออก
"abcbaa".rstrip("ab") == "abc"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
chars สตริง หรือ None ค่าเริ่มต้นคือ None
อักขระที่จะนำออก หรือเว้นวรรคทั้งหมดหากไม่มี

สปลิต

list string.split(sep, maxsplit=None)

แสดงรายการคำทั้งหมดในสตริงโดยใช้ sep เป็นตัวคั่น โดยเลือกจำกัดจำนวนการแยกเป็น maxsplit

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep string; ต้องระบุ
สตริงที่จะแบ่ง
maxsplit int; หรือ None; ค่าเริ่มต้นคือ None
จำนวนการแยกสูงสุด

เส้นแบ่ง

sequence string.splitlines(keepends=False)

แยกสตริงที่ขอบเขตของเส้น ('\n', '\r\n', '\r') และแสดงผลลัพธ์เป็นรายการที่เปลี่ยนแปลงได้ใหม่

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
keepends bool; ค่าเริ่มต้นคือ False
ควรรวมการขึ้นบรรทัดใหม่ไว้ในรายการผลลัพธ์หรือไม่

startswith

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

แสดงผลเป็น "จริง" หากสตริงขึ้นต้นด้วย sub มิเช่นนั้นแสดงผลเป็น "เท็จ" โดยสามารถเลือกจำกัดให้ใช้เฉพาะ [start:end], start แบบรวม และ end แบบไม่รวม

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; หรือ tuple สตริง จำเป็น
คำนำหน้า (หรือ Tuple ของคำนำหน้าอื่นๆ) ที่จะจับคู่
start int; หรือ None; ค่าเริ่มต้นคือ 0
การทดสอบเริ่มต้นที่ตำแหน่งนี้
end int; หรือ None; ค่าเริ่มต้นคือ None
หยุดการเปรียบเทียบที่ตำแหน่งนี้

แถบ

string string.strip(chars=None)

แสดงผลสําเนาของสตริงที่นําอักขระนำหน้าหรืออักขระต่อท้ายที่ปรากฏใน chars ออก โปรดทราบว่า chars ไม่ใช่คํานําหน้าหรือคําต่อท้าย ระบบจะนำชุดค่าผสมทั้งหมดของค่านี้ออก
"aabcbcbaa".strip("ab") == "cbc"

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
chars string; หรือ None; ค่าเริ่มต้นคือ None
อักขระที่จะนำออก หรือช่องว่างทั้งหมดหากไม่มี

title

string string.title()

แปลงสตริงอินพุตเป็น Title Case กล่าวคือ ทุกคำขึ้นต้นด้วยอักษรตัวพิมพ์ใหญ่ ส่วนอักษรที่เหลือเป็นตัวพิมพ์เล็ก ในบริบทนี้ คําหมายถึงลําดับตัวอักษรอย่างเคร่งครัด วิธีนี้ไม่รองรับอักขระ Unicode เสริม

ส่วนบน

string string.upper()

แสดงเวอร์ชันตัวพิมพ์ใหญ่ของสตริงนี้