สตริง

ประเภทภาษาในตัวเพื่อรองรับสตริง ตัวอย่างอักษรสตริง
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; required
สตริงย่อยที่จะนับ
start int หรือ None ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

elems

sequence string.elems()

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

endswith

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

แสดงค่า True หากสตริงลงท้ายด้วย sub มิเช่นนั้นจะแสดงค่า False โดยอาจจำกัดเฉพาะ [start:end], start ซึ่งรวมอยู่ด้วย และ end ซึ่งไม่รวมอยู่ด้วย

พารามิเตอร์

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

ค้นหา

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
sub string; required
สตริงย่อยที่จะค้นหา
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; required
สตริงย่อยที่จะค้นหา
start int หรือ None ค่าเริ่มต้นคือ 0
จำกัดการค้นหาจากตำแหน่งนี้
end int หรือ None ค่าเริ่มต้นคือ None
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

isalnum

bool string.isalnum()

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

isalpha

bool string.isalpha()

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

isdigit

bool string.isdigit()

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

islower

bool string.islower()

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

isspace

bool string.isspace()

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

istitle

bool string.istitle()

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

isupper

bool string.isupper()

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

ผนวก

string string.join(elements)

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

พารามิเตอร์

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

ต่ำกว่า

string string.lower()

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

lstrip

string string.lstrip(chars=None)

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

พารามิเตอร์

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

พาร์ติชัน

tuple string.partition(sep)

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

พารามิเตอร์

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

removeprefix

string string.removeprefix(prefix)

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

พารามิเตอร์

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

removesuffix

string string.removesuffix(suffix)

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

พารามิเตอร์

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

แทนที่

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

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

พารามิเตอร์

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

rfind

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

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

พารามิเตอร์

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

rindex

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

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

พารามิเตอร์

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

rpartition

tuple string.rpartition(sep)

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

พารามิเตอร์

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

rsplit

list string.rsplit(sep, maxsplit=unbound)

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

พารามิเตอร์

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

rstrip

string string.rstrip(chars=None)

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

พารามิเตอร์

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

แยก

list string.split(sep, maxsplit=unbound)

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

พารามิเตอร์

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

splitlines

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 ของ 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()

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

ส่วนบน

string string.upper()

แสดงผลสตริงนี้ในรูปแบบตัวพิมพ์ใหญ่