ประเภทภาษาที่มีมาในตัวเพื่อรองรับสตริง ตัวอย่างสัญพจน์ของสตริง:
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"]ไม่อนุญาตการต่อสตริงโดยปริยาย ให้ใช้โอเปอเรเตอร์
+
แทน โอเปอเรเตอร์การเปรียบเทียบจะทำการเปรียบเทียบแบบพจนานุกรม ใช้ ==
เพื่อทดสอบความเท่าเทียม
สมาชิก
- ตัวพิมพ์ใหญ่
- จำนวน
- เอล์ม
- ลงท้ายด้วย
- ค้นหา
- รูปแบบ
- ดัชนี
- isalnum
- อิสอัลฟ่า
- เลขรหัส
- ช้าลง
- ISspace
- ชื่อ
- isupper
- เข้าร่วม
- ต่ำลง
- แถบข้อมูล
- พาร์ติชัน
- removeprefix
- นำคำต่อท้าย
- แทนที่
- rfind
- rindex
- พาร์ติชัน
- rsplit
- แถบข้อความ
- แยก
- เส้นแบ่ง
- เริ่มต้นด้วย
- แถบสี
- ชื่อ [title]
- ด้านบน
ตัวพิมพ์ใหญ่
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 สตริง
จำเป็น คำต่อท้าย (หรือ 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()แสดงค่า "จริง" หากอักขระทั้งหมดในสตริงเป็นตัวอักษรและตัวเลขคละกัน ([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 ตัว
ผนวก
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
|
ต้องระบุ สตริงที่จะแบ่ง |
removeprefix
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 ควรรวมตัวแบ่งบรรทัดไว้ในรายการผลลัพธ์หรือไม่ |
เริ่มต้นด้วย
bool string.startswith(sub, start=0, end=None)แสดงผลเป็น "จริง" หากสตริงขึ้นต้นด้วย
sub
หากไม่ใช่ "เท็จ" คุณสามารถเลือกจำกัดเป็น [start:end]
โดยรวม start
และ end
เป็น "เฉพาะตัว"
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sub
|
string; หรือ tuple สตริง
จำเป็น คำนำหน้า (หรือ 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()แสดงเวอร์ชันตัวพิมพ์ใหญ่ของสตริงนี้