สตริง

รายงานปัญหา ดูแหล่งที่มา ตอนกลางคืน · 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))] เว้นแต่ว่าค่าที่ส่งคืนอาจไม่ใช่รายการ

ลงท้ายด้วย

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)

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

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

เลขประจำตัวประชาชน

bool string.isdigit()

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

ต่ำกว่า

bool string.islower()

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

Isspace

bool string.isspace()

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

ชื่อ

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 องค์ประกอบทั้งหมดของแบบฟอร์ม (ก่อน ตัวคั่น หลัง) หากสตริงอินพุตไม่มีตัวคั่น พาร์ติชันจะแสดงผล (ตัวเอง, '', '')

พารามิเตอร์

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

removeprefix

string string.removeprefix(prefix)

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

พารามิเตอร์

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

Removeuffix

string string.removesuffix(suffix)

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

พารามิเตอร์

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

แทนที่

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
old string; ต้องระบุ
สตริงที่จะถูกแทนที่
new string; ต้องระบุ
สตริงที่จะแทนที่
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 string; หรือ 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
ควรรวมตัวแบ่งบรรทัดไว้ในรายการผลลัพธ์หรือไม่

เริ่มต้นด้วย

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()

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

ส่วนบน

string string.upper()

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