ประเภทภาษาที่มีมาในตัวเพื่อรองรับสตริง ตัวอย่างสัญพจน์ของสตริง:
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"]ไม่อนุญาตให้ใช้การต่อสตริงโดยนัย ให้ใช้โอเปอเรเตอร์
+
แทน โอเปอเรเตอร์การเปรียบเทียบจะทำการเปรียบเทียบแบบพจนานุกรม ใช้ ==
เพื่อทดสอบความเท่าเทียม
สมาชิก
- capitalize
- count
- เอล์ม
- endswith
- ค้นหา
- รูปแบบ
- ดัชนี
- isalnum
- isalpha
- เลขรหัส
- ช้าลง
- ISspace
- istitle
- isupper
- join
- lower
- แถบข้อมูล
- พาร์ติชัน
- removeprefix
- removesuffix
- replace
- rfind
- rindex
- พาร์ติชัน
- rsplit
- rstrip
- split
- เส้นแบ่ง
- เริ่มต้นด้วย
- แถบสี
- title
- ด้านบน
ตัวพิมพ์ใหญ่
string string.capitalize()แสดงผลสำเนาของสตริงโดยมีอักขระตัวแรก (หากมี) เป็นตัวพิมพ์ใหญ่ และส่วนที่เหลือจะเป็นตัวพิมพ์เล็ก วิธีนี้ไม่รองรับอักขระที่ไม่ใช่ ASCII
จำนวน
int string.count(sub, start=0, end=None)แสดงจํานวนครั้งที่สตริงย่อย
sub
ปรากฏ (ไม่ซ้อนทับกัน) ในสตริง โดยสามารถเลือกจํากัดให้อยู่ในช่วง [start:end]
โดยที่ start
จะรวมและ end
จะยกเว้น
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sub
|
string;
ต้องระบุ สตริงย่อยที่จะนับ |
start
|
int; หรือ None ;
ค่าเริ่มต้นคือ 0 จำกัดเฉพาะการค้นหาจากตำแหน่งนี้ |
end
|
int หรือ None
ค่าเริ่มต้นคือ None ตําแหน่งที่ไม่บังคับก่อนการจํากัดการค้นหา |
เอล์ม
sequence string.elems()แสดงผลค่าที่ซ้ำกันได้ซึ่งประกอบด้วยสตริงย่อยที่มีองค์ประกอบ 1 องค์ประกอบต่อเนื่องกันของสตริง เทียบเท่ากับ
[s[i] for i in range(len(s))]
เว้นแต่ว่าค่าที่ส่งคืนอาจไม่ใช่รายการ
endswith
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
|
string;
ต้องระบุ สตริงย่อยที่จะค้นหา |
start
|
int; หรือ None ;
ค่าเริ่มต้นคือ 0 จำกัดเฉพาะการค้นหาจากตำแหน่งนี้ |
end
|
int; หรือ None ;
ค่าเริ่มต้นคือ None ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา |
รูปแบบ
string string.format(*args, **kwargs)ทำการประมาณค่าในช่วงสตริง สตริงในการจัดรูปแบบมีช่องแทนที่ล้อมรอบด้วยวงเล็บปีกกา
{}
สิ่งที่ไม่ได้อยู่ในวงเล็บปีกกาจะถือว่าเป็นข้อความตามตัวอักษร ซึ่งจะถูกคัดลอกโดยไม่เปลี่ยนแปลงไปยังเอาต์พุต หากคุณต้องใส่วงเล็บปีกกาในข้อความตามตัวอักษร สามารถใช้ Escape ได้โดยเพิ่มเป็น 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;
ต้องระบุ สตริงย่อยที่จะค้นหา |
start
|
int หรือ None
ค่าเริ่มต้นคือ 0 จำกัดให้ค้นหาจากตำแหน่งนี้ |
end
|
int; หรือ None ;
ค่าเริ่มต้นคือ None ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา |
isalnum
bool string.isalnum()แสดงค่า "จริง" หากอักขระทั้งหมดในสตริงเป็นตัวอักษรและตัวเลขคละกัน ([a-zA-Z0-9]) และมีอักขระอย่างน้อย 1 ตัว
isalpha
bool string.isalpha()แสดงค่า True หากอักขระทั้งหมดในสตริงเป็นตัวอักษร ([a-zA-Z]) และมีอักขระอย่างน้อย 1 ตัว
isdigit
bool string.isdigit()แสดงค่า "จริง" หากอักขระทั้งหมดในสตริงเป็นตัวเลข ([0-9]) และมีอักขระอย่างน้อย 1 ตัว
islower
bool string.islower()แสดงค่า "จริง" หากอักขระที่มีตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ทั้งหมดในสตริงเป็นตัวพิมพ์เล็กและมีอักขระอย่างน้อย 1 ตัว
Isspace
bool string.isspace()แสดงค่า True หากอักขระทั้งหมดเป็นอักขระเว้นวรรคและสตริงมีอักขระอย่างน้อย 1 ตัว
istitle
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 องค์ประกอบทั้งหมดของแบบฟอร์ม (ก่อน ตัวคั่น หลัง) หากสตริงอินพุตไม่มีตัวคั่น พาร์ติชันจะแสดงผลเป็น (self, '', '')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sep
|
string;
ต้องระบุ สตริงที่จะแบ่ง |
removeprefix
string string.removeprefix(prefix)หากสตริงขึ้นต้นด้วย
prefix
ระบบจะแสดงสตริงใหม่ที่มีการนำคำนำหน้าออก หรือไม่เช่นนั้น จะแสดงสตริง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
prefix
|
string;
ต้องระบุ คำนำหน้าที่จะนำออก หากมี |
removesuffix
string string.removesuffix(suffix)หากสตริงลงท้ายด้วย
suffix
จะแสดงผลสตริงใหม่ที่มีการนำส่วนต่อท้ายออก หรือไม่เช่นนั้น จะแสดงสตริง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
suffix
|
string;
required ส่วนต่อท้ายที่จะนําออกหากมี |
แทนที่
string string.replace(old, new, count=-1)แสดงผลสําเนาของสตริงที่มีการแทนที่
old
ด้วย new
โดยอาจจํากัดจํานวนการแทนที่ไว้ที่ count
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
old
|
string;
ต้องระบุ สตริงที่จะถูกแทนที่ |
new
|
string;
required สตริงที่จะแทนที่ |
count
|
int;
ค่าเริ่มต้นคือ -1 จำนวนการแทนที่สูงสุด หากละเว้นหรือค่าเป็นลบ จะไม่มีขีดจำกัด |
rfind
int string.rfind(sub, start=0, end=None)แสดงผลอินเด็กซ์สุดท้ายที่พบ
sub
หรือ -1 หากไม่มีอินเด็กซ์ดังกล่าว โดยสามารถเลือกจำกัดให้แสดงผลเฉพาะ [start:end]
, start
แบบรวม และ end
แบบไม่รวม
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sub
|
string;
ต้องระบุ สตริงย่อยที่จะค้นหา |
start
|
int; หรือ None ;
ค่าเริ่มต้นคือ 0 จำกัดเฉพาะการค้นหาจากตำแหน่งนี้ |
end
|
int; หรือ None ;
ค่าเริ่มต้นคือ None ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา |
rindex
int string.rindex(sub, start=0, end=None)แสดงผลดัชนีล่าสุดที่พบ
sub
หรือเพิ่มข้อผิดพลาดหากไม่มีดัชนีดังกล่าว จำกัด [start:end]
, start
ที่รวมอยู่ และ end
รวม (ไม่บังคับ)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sub
|
string;
ต้องระบุ สตริงย่อยที่จะค้นหา |
start
|
int; หรือ None ;
ค่าเริ่มต้นคือ 0 จำกัดเฉพาะการค้นหาจากตำแหน่งนี้ |
end
|
int; หรือ None ;
ค่าเริ่มต้นคือ None ตำแหน่งที่ไม่บังคับ ก่อนที่จะจำกัดการค้นหา |
พาร์ติชัน
tuple string.rpartition(sep)แยกสตริงอินพุตที่ตำแหน่งที่พบตัวคั่น
sep
ครั้งล่าสุด และแสดงผลพาร์ติชันที่ได้เป็นทูเปิล 3 องค์ประกอบของรูปแบบ (ก่อน ตัวคั่น หลัง) หากสตริงอินพุตไม่มีตัวคั่น rpartition จะแสดงผล ('', '', self)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sep
|
string;
ต้องระบุ สตริงที่จะแบ่ง |
rsplit
list string.rsplit(sep, maxsplit=None)แสดงรายการคำทั้งหมดในสตริงโดยใช้
sep
เป็นตัวคั่น โดยเลือกจำกัดจำนวนการแยกเป็น maxsplit
ยกเว้นการแยกจากด้านขวา วิธีการนี้จะทํางานเหมือนกับ split()
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sep
|
string;
ต้องระบุ สตริงที่จะแบ่ง |
maxsplit
|
int; หรือ None ;
ค่าเริ่มต้นคือ None จำนวนการแยกสูงสุด |
แถบสี
string string.rstrip(chars=None)แสดงผลสําเนาของสตริงที่ลบอักขระต่อท้ายที่ปรากฏใน
chars
ออก โปรดทราบว่า chars
ไม่ใช่ส่วนต่อท้าย ระบบจะนำชุดค่าผสมทั้งหมดของค่านี้ออก"abcbaa".rstrip("ab") == "abc"
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
chars
|
สตริง หรือ None
ค่าเริ่มต้นคือ None อักขระที่จะนำออก หรือเว้นวรรคทั้งหมดหากไม่มี |
สปลิต
list string.split(sep, maxsplit=None)แสดงรายการคำทั้งหมดในสตริงโดยใช้
sep
เป็นตัวคั่น โดยเลือกจำกัดจำนวนการแยกเป็น maxsplit
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sep
|
string;
ต้องระบุ สตริงที่จะแบ่ง |
maxsplit
|
int; หรือ None ;
ค่าเริ่มต้นคือ None จำนวนการแยกสูงสุด |
เส้นแบ่ง
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 สตริง
จำเป็น คำนำหน้า (หรือ 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()แสดงเวอร์ชันตัวพิมพ์ใหญ่ของสตริงนี้