สตริง

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

สมาชิก

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

string string.capitalize()

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

จำนวน

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

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

พารามิเตอร์

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

Elms

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

ค้นหา

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub ต้องระบุ
สตริงย่อยที่จะค้นหา
start int; or None; default = 0
จำกัดเฉพาะการค้นหาจากตำแหน่งนี้
end int; or 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 default = ()
รายการอาร์กิวเมนต์
kwargs ค่าเริ่มต้น = {}
พจนานุกรมของอาร์กิวเมนต์

index

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

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

พารามิเตอร์

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

Isalnum

bool string.isalnum()

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

Isalpha

bool string.isalpha()

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

isdigit

bool string.isdigit()

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

โลว์เออร์

bool string.islower()

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

Isspace

bool string.isspace()

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

ชื่อ

bool string.istitle()

แสดงผลเป็น "จริง" หากสตริงอยู่ในลักษณะตัวพิมพ์ของหัวข้อและมีอักขระอย่างน้อย 1 ตัว ซึ่งหมายความว่าอักขระตัวพิมพ์ใหญ่ทุกตัวต้องอยู่หลังอักขระที่ไม่ได้พิมพ์ (เช่น ช่องว่าง) และอักขระตัวพิมพ์เล็กทุกตัวต้องอยู่หลังอักขระพิมพ์ใหญ่ 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; or None; ค่าเริ่มต้น = ไม่มี
อักขระที่ต้องการนำออกหรือการเว้นวรรคทั้งหมดหากไม่มี

พาร์ติชัน

tuple string.partition(sep)

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

พารามิเตอร์

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

นำคำนำหน้าออก

string string.removeprefix(prefix)

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

พารามิเตอร์

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

นำส่วนต่อท้ายออก

string string.removesuffix(suffix)

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

พารามิเตอร์

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

แทนที่

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

แสดงผลสำเนาของสตริงที่แทนที่รายการ old ด้วย new โดยเลือกที่จะจำกัดจำนวนการแทนที่ไว้ที่ maxsplit

พารามิเตอร์

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

Rfind

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

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

พารามิเตอร์

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

Rindex

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

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

พารามิเตอร์

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

Rpartition

tuple string.rpartition(sep)

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

พารามิเตอร์

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

RSPlit

list string.rsplit(sep, maxsplit=None)

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

พารามิเตอร์

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

RStrip

string string.rstrip(chars=None)

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

พารามิเตอร์

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

ข้อมูลแบบแยกส่วน

list string.split(sep, maxsplit=None)

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

พารามิเตอร์

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

เส้นแบ่ง

sequence string.splitlines(keepends=False)

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

พารามิเตอร์

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

startswith

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

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

พารามิเตอร์

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

Strip

string string.strip(chars=None)

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

พารามิเตอร์

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

title

string string.title()

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

ส่วนบน

string string.upper()

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