สตริง

รายงานปัญหา ดูแหล่งที่มา

ประเภทภาษาในตัวที่รองรับสตริง ตัวอย่างสัญพจน์ของสตริง:
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 ต้องระบุ
สตริงย่อยที่จะนับ
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 ของ strings; ต้องระบุ
คำต่อท้าย (หรือ tuple ของคำต่อท้ายอื่นๆ) ที่ตรงกัน
start int หรือ None ค่าเริ่มต้นคือ 0
ทดสอบโดยเริ่มต้นที่ตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับซึ่งใช้หยุดการเปรียบเทียบ

ค้นหา

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub ต้องระบุ
สตริงย่อยที่จะค้นหา
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 ต้องระบุ
สตริงย่อยที่จะค้นหา
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 ตัว

join

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 string.removeprefix(prefix)

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

พารามิเตอร์

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

Removeuffix

string string.removesuffix(suffix)

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

พารามิเตอร์

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

แทนที่

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

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

พารามิเตอร์

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

Rfind

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

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

พารามิเตอร์

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

Rindex

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

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

พารามิเตอร์

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

พาร์ติชัน

tuple string.rpartition(sep)

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

พารามิเตอร์

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

rsplit

list string.rsplit(sep, maxsplit=None)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sep ต้องระบุ
สตริงที่จะแบ่ง
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 ต้องระบุ
สตริงที่จะแบ่ง
maxsplit int หรือ None ค่าเริ่มต้นคือ None
จำนวนการแยกสูงสุด

เส้นแบ่ง

sequence string.splitlines(keepends=False)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
keepends ค่าเริ่มต้นคือ False
ระบุว่าควรรวมตัวแบ่งบรรทัดไว้ในรายการผลลัพธ์หรือไม่

startswith

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string หรือ tuple ของ strings; ต้องระบุ
คำนำหน้า (หรือ 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()

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