สตริง

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

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

ต่ำกว่า

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 required
สตริงที่จะใช้แยก

removeprefix

string string.removeprefix(prefix)

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

พารามิเตอร์

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

removesuffix

string string.removesuffix(suffix)

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

พารามิเตอร์

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

แทนที่

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

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
old required
สตริงที่จะแทนที่
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
ตำแหน่งที่ไม่บังคับก่อนที่จะจำกัดการค้นหา

rpartition

tuple string.rpartition(sep)

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

พารามิเตอร์

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

rsplit

list string.rsplit(sep, maxsplit=None)

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

พารามิเตอร์

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

rstrip

string string.rstrip(chars=None)

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

พารามิเตอร์

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

แยก

list string.split(sep, maxsplit=None)

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

พารามิเตอร์

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

splitlines

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

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

ส่วนบน

string string.upper()

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