สตริง

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

ประเภทภาษาในตัวเพื่อรองรับสตริง ตัวอย่างอักษรสตริง

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 string หรือ tuple ของ strings required
ส่วนต่อท้าย (หรือ 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)

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

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