สตริงย่อย Python เป็นส่วนหนึ่งของข้อความที่นำมาจากสตริง คุณสามารถแยกสตริงย่อยใน Python ได้โดยใช้การแบ่งส่วน โดยมีรูปแบบ:YourString[StartingIndex:StoppingIndex:CharactersToSkip]
บ่อยครั้ง โปรแกรมเมอร์มีข้อมูลที่ต้องการแบ่งออกเป็นส่วนต่างๆ ตัวอย่างเช่น นักพัฒนาซอฟต์แวร์อาจมีชื่อเต็มของผู้ใช้ และจำเป็นต้องได้รับเพียงชื่อจริงเท่านั้น ในกรณีนี้ ผู้พัฒนาต้องการแบ่งชื่อออกเป็นสองส่วน คือ ชื่อและนามสกุล
คุณทำสิ่งนี้ให้สำเร็จในภาษาการเขียนโปรแกรม Python ได้อย่างไร นั่นคือที่ที่สตริง สไลซ์ เข้ามาเล่น โดยใช้เทคนิคที่เรียกว่า slicing เราสามารถรับส่วนเฉพาะของสตริง ซึ่งจะกลายเป็น สตริงย่อย . ในบทช่วยสอนนี้ เราจะอธิบายวิธีการทำงานของสตริงย่อยใน Python และวิธีที่คุณสามารถใช้การแบ่งส่วนเพื่อสร้างสตริงย่อยของคุณเอง
ดัชนีสตริง:ทบทวน
ก่อนที่เราจะพูดถึงการสไลซ์และซินแทกซ์สไลซ์ เราต้องดูก่อนว่าสตริง Python ถูกสร้างดัชนีอย่างไร
ใน Python สตริงคือลำดับของอักขระตั้งแต่หนึ่งตัวขึ้นไปซึ่งอาจรวมถึงตัวเลข ช่องว่าง ตัวอักษร หรือสัญลักษณ์ คุณสามารถเข้าถึงบางส่วนของสตริงได้ในลักษณะเดียวกับที่คุณทำกับลำดับอื่นๆ เช่น รายการ
อักขระแต่ละตัวในสตริงมีค่าดัชนีของตัวเอง ซึ่งระบุตำแหน่งของอักขระในสตริง ตัวเลขเหล่านี้เริ่มต้นด้วยหมายเลขดัชนี 0 ตัวอย่างเช่น นี่คือวิธีที่สตริง Python Substrings จะถูกแสดง:
P | ย | t | h | o | n | | ส | คุณ | b | s | t | ร | ฉัน | n | g | ! |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
อักขระตัวแรกในสตริงของเรา (P ) มีค่าดัชนีเป็น 0 ! ตัวละคร มีค่าดัชนีเท่ากับ 16
เนื่องจากอักขระแต่ละตัวมีหมายเลขดัชนีของตัวเอง เราจึงสามารถอ่านและเปลี่ยนอักขระแต่ละตัวในสตริงของเราได้
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
สตริงย่อยของ Python String
สมมติว่าเราต้องการรับอักขระสามตัวแรกจากสตริง เราทำอย่างไร หรือถ้าเราต้องการดึงอักขระสองตัวสุดท้ายในสตริงล่ะ?
เราสามารถใช้เทคนิคที่เรียกว่า slicing เพื่อดึงข้อมูลบางส่วนจากสตริง นี่คือที่ที่เราระบุลำดับของอักขระจากสตริงที่เราต้องการดึงข้อมูล เราสามารถใช้สไลซ์เพื่อรับข้อมูลใดๆ ที่เราต้องการจากสตริง ไวยากรณ์ที่เราใช้คือ:
string[start:end:step]
มีสามองค์ประกอบในสไลซ์:
- เริ่มต้น:ตำแหน่งดัชนีที่สไลซ์ของเราควรเริ่มต้น นี่คือ 0 โดยค่าเริ่มต้น
- end:ตำแหน่งที่ชิ้นสิ้นสุด อักขระที่ตำแหน่งสิ้นสุดไม่รวมอยู่ในสไลซ์ โดยค่าเริ่มต้น end คือความยาวของสตริง
- ขั้นตอน:สั่งให้สไลซ์ละเว้นอักขระ N ทุกตัว N เท่ากับขั้นตอนที่คุณระบุ ขั้นตอนจะเท่ากับ 1 โดยค่าเริ่มต้น
สตริงย่อย Python:ตัวอย่าง
ดึงอักขระสามตัวแรก
เราจะดึงอักขระสามตัวแรกจากสตริง ในการทำเช่นนั้น เราจะใช้ไวยากรณ์การแบ่งส่วน:
ourString = "Python Substring!" print(ourString[0:3])
ผลลัพธ์สำหรับรหัสของเราคือ:
Pyt
ทิ้งหมายเลขเริ่มต้นไว้
นอกจากนี้เรายังสามารถทิ้งตัวเลขแรกไว้เพื่อให้ได้อักขระทั้งหมดตามค่าที่กำหนดในข้อความ วิธีนี้สะดวกหากข้อความที่เราต้องการรับอยู่ที่จุดเริ่มต้นของสตริง
เราสามารถใช้เทคนิคนี้เพื่อดึงอักขระสามตัวแรกจากสตริงโดยไม่ต้องระบุ 0 เป็นหมายเลขเริ่มต้นของเรา:
ourString = "Python Substring!" print(ourString[:3])
รหัสของเราส่งคืนผลลัพธ์เดียวกันกับตัวอย่างก่อนหน้าของเรา เราไม่ได้ระบุค่าเริ่มต้น นี่เป็นเพราะการเริ่มต้นเป็น 0 โดยค่าเริ่มต้น เราต้องการดึงอักขระจากจุดเริ่มต้นของสตริงเพื่อให้รูปแบบนี้ใช้งานได้
ดึงอักขระสองตัวสุดท้าย
เราสามารถดึงอักขระห้าตัวสุดท้ายของสตริงโดยใช้ค่าดัชนีลบและตัวเลขเริ่มต้น:
value = "Python" print(value[-2:])
รหัสของเราส่งคืน:on. เราได้ระบุค่าเดียวเท่านั้น:-2 นี่คือหมายเลขเริ่มต้นของเรา -2 บอกให้สไลซ์ของเราเริ่มดึงอักขระจากตำแหน่งดัชนีที่สองจนถึงตำแหน่งสุดท้ายในสตริงของเรา
ตัวอย่างอื่นๆ
เราได้เตรียมตัวอย่างอื่นๆ สองสามตัวอย่างเพื่อช่วยให้คุณเรียนรู้วิธีการใช้วิธีการแบ่งส่วน
ดึงอักขระตัวสุดท้ายในสตริง
value = "Python" print(value[-1]) Output: n
เราได้ระบุเฉพาะค่าเริ่มต้นในตัวอย่างนี้ ไม่มีค่าสิ้นสุด ซึ่งหมายความว่าสตริงของเราจะดึงเฉพาะอักขระตัวสุดท้ายเท่านั้น
ดึงตัวละครในช่วง 2 และ 3
value = "Python" print(value[2:3]) Output: t
ค่าเริ่มต้นของเราคือ 2 และค่าสิ้นสุดของเราคือ 3 อักขระทั้งหมดในช่วง 2 และ 3 จะถูกส่งกลับ ไม่รวมอักขระ 3 เอง เนื่องจากค่าสิ้นสุดเป็นแบบเอกสิทธิ์
ข้ามตัวละครทุกวินาที
value = "Python" print(value[::2]) Output: Pto
เราใช้โคลอนสองตัวเพื่อบอก Python ว่าเราต้องการใช้พารามิเตอร์เริ่มต้นและสิ้นสุดที่เป็นค่าเริ่มต้น เราได้ระบุ 2 เป็นขั้นตอนของเรา ซึ่งหมายความว่าสไลซ์ของเราจะดึงอักขระทุกวินาทีจากสตริงของเรา
ดู Repl.it จากบทช่วยสอนนี้:
บทสรุป
สตริงย่อยเป็นส่วนหนึ่งของสตริงที่ใหญ่กว่า ในการดึงสตริงย่อย คุณสามารถใช้ไวยากรณ์การแบ่งส่วนได้ การแบ่งส่วนช่วยให้คุณสามารถกำหนดช่วงของอักขระที่จะดึงข้อมูลได้ คุณสามารถใช้พารามิเตอร์ตัวที่สามเพื่อข้ามผ่านอักขระเฉพาะในช่วงได้
เรียนรู้เพิ่มเติมเกี่ยวกับภาษา Python ในคู่มือการเรียนรู้ Python