Python มีเมธอดมากมายที่ใช้เฉพาะกับสตริง Python string methods รวมถึง upper(), lower(), capitalize(), title() และอื่นๆ เมธอดสตริงเหล่านี้มีประโยชน์สำหรับการจัดการ แก้ไข และทำงานกับสตริง
สตริงเป็นหนึ่งในชนิดข้อมูลหลักที่ใช้ในการเขียนโปรแกรม และช่วยให้คอมพิวเตอร์ทำงานกับข้อความได้ ตัวอย่างเช่น สตริงอาจถูกใช้เพื่อจัดเก็บชื่อผู้ใช้หรือที่อยู่อีเมลของพวกเขาในโปรแกรม Python
Python รวมเมธอดสตริงหลายตัวที่สามารถใช้แก้ไขและจัดการสตริงได้ ฟังก์ชันเหล่านี้สร้างอยู่ใน Python แล้ว จึงพร้อมให้เราใช้โดยไม่ต้องนำเข้าไลบรารีใดๆ
ในบทช่วยสอนนี้ เราจะแยกวิเคราะห์เมธอดสตริงทั่วไปบางตัวที่คุณอาจพบใน Python และสำรวจตัวอย่างว่าอาจใช้ได้อย่างไร
บทนำสรุป String
สตริงช่วยให้คุณจัดเก็บข้อความเมื่อคุณเขียนโปรแกรม และประกาศภายในเครื่องหมายอัญประกาศเดี่ยว '' หรือเครื่องหมายอัญประกาศคู่ "" ใน Python แม้คุณจะใช้เครื่องหมายอัญประกาศเดี่ยวหรือคู่ก็ได้ เมื่อคุณตัดสินใจว่าจะใช้อันไหน คุณควรเก็บความสม่ำเสมอตลอดโปรแกรมของคุณ นี่คือตัวอย่างของการประกาศสตริง:
"This is an example string in Python."
เราสามารถพิมพ์สตริงออกมาโดยใช้ฟังก์ชัน print():
print("This is an example string!")
โปรแกรมของเราคืนค่า: This is an example string!
เมื่อคุณทำงานกับสตริง คุณอาจต้องการรวมมันกับสตริงอีกตัวเพื่อสร้างสตริงใหม่ เราเรียกว่าการต่อสตริง (string concatenation) ในการเขียนโปรแกรม เพื่อรวมสตริงสองตัว เราใช้ตัวดำเนินการ + นี่คือตัวอย่างของฟังก์ชัน print() ที่จะรวมสตริงสองตัวเข้าด้วยกัน:
print("Example" + "String")
โปรแกรมของเราคืนค่า: ExampleString โปรดสังเกตว่าเมื่อเรารวมสตริงของเรา ไม่มีช่องว่างรวมอยู่ หากเราต้องการรวมช่องว่าง เราควรเพิ่มตัวอักษรช่องว่างภายในสตริงของเรา
ตอนนี้ที่เราสำรวจพื้นฐานของสตริงแล้ว เราสามารถเริ่มสำรวจ Python string methods ได้
สตริงตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก
สองเมธอดสตริงที่พบบ่อยที่สุดใน Python คือเมธอดที่ช่วยให้คุณเปลี่ยนเคสของสตริงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ฟังก์ชัน upper() และ lower() จะคืนค่าสตริงที่ตัวอักษรทั้งหมดในสตริงต้นฉบับถูกแปลงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
เมื่อคุณใช้ฟังก์ชัน upper() หรือ lower() สตริงที่คืนค่าจะเป็นสตริงใหม่ และสตริงเดิมของคุณจะคงที่เหมือนเดิม
นี่คือตัวอย่างของคลาส upper() ที่ถูกใช้เพื่อแปลงสตริงเป็นตัวพิมพ์ใหญ่:
string_example = "String Example" print(string_example.upper())
โปรแกรมของเราคืนค่า:
"STRING EXAMPLE"
หากเราต้องการให้สตริงของเราปรากฏในตัวพิมพ์เล็ก เราสามารถใช้ฟังก์ชัน lower() แบบนี้:
print(string_example.lower())
โค้ดของเราคืนค่า:
"string example"
เพิ่มเติม คุณสามารถใช้เมธอด capitalize() เพื่อทำให้ตัวอักษรแรกของสตริงเป็นตัวพิมพ์ใหญ่ และเมธอด title() เพื่อทำให้ตัวอักษรแรกของทุกคำในสตริงเป็นตัวพิมพ์ใหญ่
ฟังก์ชันเหล่านี้มีประโยชน์หากคุณต้องการเปรียบเทียบสตริงและต้องการให้เคสของสตริงเหล่านั้นสม่ำเสมอ นี่สำคัญเพราะการเปรียบเทียบใน Python แยกตัวพิมพ์เล็ก-ใหญ่ (case sensitive) ตัวอย่างเช่น คุณอาจต้องการแปลงอีเมลของผู้ใช้เป็นตัวพิมพ์เล็ก เพื่อที่คุณจะสามารถเปรียบเทียบกับอีเมลที่คุณมีในไฟล์ได้
ความยาวของสตริง
เมื่อคุณทำงานกับสตริง คุณอาจต้องการทราบความยาวของสตริงนั้น เมธอด len() ของ Python สามารถใช้คืนค่าจำนวนตัวอักษรในสตริง
ฟังก์ชันนี้มีประโยชน์หากคุณต้องการตั้งค่าความยาวขั้นต่ำหรือสูงสุดสำหรับฟิลด์ฟอร์ม ตัวอย่างเช่น หากคุณต้องการให้ที่อยู่อีเมลของผู้ใช้ไม่เกิน 50 ตัวอักษร คุณสามารถใช้ len() เพื่อหาความยาวของอีเมลและแสดงข้อผิดพลาดหากมันเกิน 50 ตัวอักษร
นี่คือตัวอย่างของโปรแกรมที่ตรวจสอบความยาวของสตริง:
string_length = "What is the length of this string?" print(len(string_length))
โปรแกรมของเราคืนค่า: 34 ในโค้ดของเรา เราประกาศตัวแปร string_length ที่เก็บสตริง What is the length of this string? จากนั้นในบรรทัดถัดไป เราใช้เมธอด len(string_length) เพื่อหาความยาวของสตริงของเรา และส่งผ่านเมธอด print() เพื่อที่เราจะเห็นความยาวในคอนโซลของเรา
จำไว้ว่า ฟังก์ชันความยาวจะนับทุกตัวอักษรในสตริง ซึ่งรวมถึงตัวอักษร ตัวเลข และตัวอักษรช่องว่าง
Boolean String Methods (เมธอดสตริงบูลีน)
มีเมธอดสตริงของ Python จำนวนหนึ่งที่คืนค่าบูลีน เมธอดเหล่านี้มีประโยชน์หากเราต้องการเรียนรู้เพิ่มเติมเกี่ยวกับลักษณะเฉพาะของสตริง ตัวอย่างเช่น หากเราต้องการตรวจสอบว่าสตริงเป็นตัวพิมพ์ใหญ่ทั้งหมด หรือมีเฉพาะตัวเลข เราสามารถใช้ boolean string method ที่จะคืนค่า true หากตัวอักษรทั้งหมดเป็นตัวพิมพ์ใหญ่
นี่คือรายการของ Python string methods ที่คืนค่า True หากเงื่อนไขของพวกเขาเป็นจริง:
str.isupper(): ตัวอักษรอักษรภาษาของสตริงเป็นตัวพิมพ์ใหญ่ทั้งหมดstr.islower(): ตัวอักษรอักษรภาษาของสตริงเป็นตัวพิมพ์เล็กทั้งหมดstr.istitle(): สตริงอยู่ใน title casestr.isspace(): สตริงประกอบด้วยตัวอักษรช่องว่างเท่านั้นstr.isnumeric(): สตริงมีเฉพาะตัวอักษรตัวเลขstr.isalnum(): สตริงมีเฉพาะตัวอักษรและตัวเลข (ไม่มีสัญลักษณ์)str.isalpha(): สตริงมีเฉพาะตัวอักษรภาษา (ไม่มีตัวเลขหรือสัญลักษณ์)
มาสำรวจ boolean string methods บางตัว นี่คือตัวอย่างของฟังก์ชัน isupper() ที่ใช้ตรวจสอบว่าสตริงมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่:
full_name = "JOHN APPLESEED" print(full_name.isupper())
โปรแกรมของเราคืนค่า: True ตัวแปร full_name มีค่าที่มีข้อความเป็นตัวพิมพ์ใหญ่ทั้งหมด ดังนั้นฟังก์ชัน isupper() ของเราประเมินเป็น True และคืนค่า True
เช่นเดียวกัน เราสามารถใช้ฟังก์ชัน istitle() เพื่อตรวจสอบว่าสตริงอยู่ใน title case หรือไม่:
sentence = "This is a sentence." print(sentence.istitle())
โค้ดของเราคืนค่า: False เนื่องจากสตริงของเราไม่อยู่ใน title case — ตัวอักษรแรกของแต่ละคำไม่ใช่ตัวพิมพ์ใหญ่ — เมธอด istitle() ของเราประเมินเป็น False
Boolean string methods สามารถมีประโยชน์เมื่อรับข้อมูลนำเข้าจากผู้ใช้ที่คุณต้องการตรวจสอบ หรือหากคุณมีค่าที่แน่นอนสองค่าที่คุณต้องการเปรียบเทียบ
Starts With และ Ends With
สมมติว่าคุณมีสตริงและคุณต้องการตรวจสอบว่ามันเริ่มต้นหรือจบด้วยค่าเฉพาะ ตัวอย่างเช่น คุณอาจมีชื่อผู้ใช้และต้องการตรวจสอบว่ามันเริ่มต้นด้วย F เราสามารถใช้ฟังก์ชัน startswith() และ endswith() เพื่อตรวจสอบสตริงของเรา
เมธอด startswith() คืนค่า True หากสตริงเริ่มต้นด้วยค่าเฉพาะ และเมธอด endswith() คืนค่า True หากสตริงจบด้วยค่าเฉพาะ มิฉะนั้น เมธอดสตริงจะคืนค่า false
ทั้งสองเมธอดรับพารามิเตอร์ 3 ตัว ตัวแรกคือค่าที่คุณกำลังค้นหา ทางเลือก คุณสามารถระบุดัชนีเริ่มต้นภายในสตริงที่การค้นหาของคุณควรเริ่มต้นด้วยพารามิเตอร์ที่สอง และคุณยังสามารถระบุดัชนีสิ้นสุดที่การค้นหาของคุณควรสิ้นสุดด้วยพารามิเตอร์ที่สาม
นี่คือตัวอย่างของฟังก์ชัน startswith() ในการทำงาน:
full_name = "Bill Jefferson"
print(full_name.startswith("Bill"))
โปรแกรมของเราคืนค่า: True
หากเราต้องการตรวจสอบว่า Bill ปรากฏในสตริงของเราเริ่มหลังตัวอักษรที่ 4 ในสตริงของเรา — รายการที่มีค่าดัชนี 3 เพราะดัชนีเริ่มที่ 0 — เราสามารถใช้โค้ดต่อไปนี้:
full_name = "Bill Jefferson"
print(full_name.startswith("Bill", 3))
โค้ดของเราคืนค่า False เพราะ Bill ไม่ปรากฏในสตริงหลังค่าดัชนี 3
Split และ Join Strings
เพิ่มเติม คุณสามารถใช้เมธอด join() และ split() เพื่อจัดการสตริงใน Python
เมธอด join() นำรายการทั้งหมดใน iterable string มารวมเข้ากับสตริงอีกตัวหนึ่ง นี่คือตัวอย่างของเมธอด join() ของ Python string ในการทำงาน:
string = "String" "X".join(string)
โค้ดของเราคืนค่าดังนี้: SXtXrXiXnXg สิ่งที่เกิดขึ้นคือ สตริง join() ผ่านแต่ละตัวอักษรในตัวแปร string และเพิ่ม X หลังตัวอักษรแต่ละตัว
เมธอด join() อาจมีประโยชน์หากคุณต้องการรวมค่าเฉพาะเข้ากับสตริง เมธอดนี้ยังมักใช้เพื่อรวมลิสต์ของสตริงเข้าด้วยกัน นี่คือตัวอย่างของ join() ที่ใช้รวมลิสต์ของสตริงเป็นหนึ่งเดียว:
print(",".join(["Lucy", "Emily", "David"])
โค้ดของเราคืนค่าดังนี้: Lucy,Emily,David ตอนนี้ลิสต์ชื่อของเราอยู่ในสตริงเดียว แทนที่จะอยู่ในอาร์เรย์
เรายังสามารถใช้เมธอด split() ของสตริง เพื่อแยกสตริงและคืนค่าลิสต์ของสตริง นี่คือตัวอย่างของเมธอด split() ที่ใช้แบ่งประโยคเป็นลิสต์ของสตริง:
example_sentence = "This is a sentence." print(example_sentence.split())
โค้ดของเราคืนค่าดังนี้:
["This", "is", "a", "sentence."]
ตามที่คุณเห็น สตริงต้นฉบับของเราถูกแบ่งเป็น 4 รายการ และลิสต์ใหม่ของรายการเหล่านั้นถูกสร้างขึ้น
เมธอด split() คืนค่าลิสต์ของสตริงที่คั่นด้วยตัวอักษรช่องว่าง หากไม่มีพารามิเตอร์อื่นระบุ แต่หากคุณต้องการแยกสตริงด้วยตัวอักษรอื่น คุณสามารถทำได้ นี่คือตัวอย่างของโปรแกรมที่แบ่งสตริงโดยอิงจากจุลภาคในสตริงนั้น:
names = "Lucy,Emily,David"
print(names.split(","))
โค้ดของเราคืนค่า:
["Lucy", "Emily", "David"]
ตามที่คุณเห็น โปรแกรมของเราแยกสตริงของเราตามค่าจุลภาคในสตริงต้นฉบับของเรา และสร้างอาร์เรย์ด้วยค่าใหม่ที่แยกกันแล้ว
View the Repl.it from this tutorial:
สรุป
สตริงเป็นชนิดข้อมูลที่มีประโยชน์ช่วยให้นักเขียนโค้ดจัดเก็บค่าข้อความในโปรแกรมของพวกเขา ในบทช่วยสอนนี้ เราสำรวจ built-in Python string methods บางตัวที่พบบ่อยที่สุดที่คุณสามารถใช้จัดการสตริงได้
เราอภิบายเมธอด upper() และ lower() และวิธีที่พวกมันช่วยคุณทำงานกับเคสใน Python เมธอด len() และวิธีที่มันช่วยคุณได้ความยาวของสตริง และเราสำรวจ boolean string methods ที่มีอยู่ใน Python
เรายังอภิบายวิธีใช้ join() และ split() และวิธีตรวจสอบว่าสตริงเริ่มต้นหรือจบด้วยซับสตริง
มีค่าที่จะสังเกตว่ามี string methods อื่นๆ อีกมากมาย เช่น ljust(), rjust(), และ zfill() และบทความนี้เพียงขูดผิวเท่านั้น ตอนนี้คุณพร้อมที่จะเริ่มทำงานกับสตริงใน Python อย่างมืออาชีพแล้ว!