ลองดูวิธีต่างๆ ในการลบอักขระตัวสุดท้ายออกจากสตริงใน Python
หั่น
Python รองรับการแบ่งส่วนดัชนีเชิงลบพร้อมกับการแบ่งส่วนบวก ดัชนีเชิงลบเริ่มต้นจาก -1 ถึง -(iterable_length) เราจะใช้การแบ่งส่วนเชิงลบเพื่อรับองค์ประกอบจากจุดสิ้นสุดของ iterable
- ดัชนี -1 ทำให้คุณได้รับองค์ประกอบสุดท้ายจากการวนซ้ำ
- ดัชนี -2 ทำให้คุณได้รับองค์ประกอบสุดท้ายที่ 2 จาก iterable
- และต่อเนื่องไปจนถึงองค์ประกอบแรก
มาดูตัวอย่างกัน
name="admintrick.com" print(name[-1]) print(name[-len(name)])
โปรแกรมด้านบนจะพิมพ์อักขระตัวสุดท้ายและตัวแรกจากสตริงโดยใช้การจัดทำดัชนีเชิงลบ
เราจะลบองค์ประกอบสุดท้ายออกจากสตริงโดยใช้การแบ่งส่วนได้อย่างไร มันเป็นเพียงบรรทัดของรหัส เรารู้วิธีแยกส่วนของสตริงโดยใช้การแบ่งส่วน ลองใช้สิ่งเดียวกันกับดัชนีลบเพื่อลบอักขระตัวสุดท้ายออกจากสตริง
- ตัดสตริงตั้งแต่ต้นจนจบก่อนองค์ประกอบ
buggy_name="GeekflareE" name = buggy_name[:-1] print(name)
มาเน้นที่บรรทัดที่สองในโค้ดด้านบนกัน นั่นคือสายเวทย์มนตร์ในรหัส การแยกส่วนแบบดั้งเดิมจะแยกสตริงย่อยจากดัชนีเริ่มต้นไปยังส่วนสุดท้าย แต่ส่วนหนึ่งจะละเว้นองค์ประกอบดัชนีที่สองที่ให้มา
คุณจะได้รับ admintrick.com เป็นเอาต์พุตหากคุณเรียกใช้โค้ดด้านบน
สตริป
วิธีสตริง rstrip ลบอักขระจากด้านขวาของสตริงที่ได้รับ ดังนั้นเราจึงสามารถใช้มันเพื่อลบองค์ประกอบสุดท้ายของสตริง เราไม่ต้องเขียนโค้ดเกินหนึ่งบรรทัดเพื่อลบอักขระตัวสุดท้ายออกจากสตริง
- ให้องค์ประกอบสุดท้ายกับเมธอดสตริป มันจะส่งคืนสตริงโดยลบอักขระตัวสุดท้าย
มาดูโค๊ดกัน
buggy_name="GeekflareE" name = buggy_name.rstrip(buggy_name[-1]) print(name)
เราได้กำหนดอักขระตัวสุดท้ายของสตริงให้กับเมธอดสตริป จะลบอักขระตัวสุดท้ายออกจากสตริงและส่งคืนสำเนาโดยไม่มีอักขระตัวสุดท้าย
มันจะพิมพ์ admintrick.com ในคอนโซล ถ้าคุณดำเนินการ
ตัวอย่างการปฏิบัติ – ลบคำสุดท้าย
ใช่ เราจะนำสิ่งที่เรามีในหัวข้อก่อนหน้านี้ไปใช้ในตัวอย่างที่ใช้งานได้จริง
สมมติว่าเรามีไฟล์ที่มีข้อความหลายบรรทัด และเราต้องลบคำสุดท้ายออกจากแต่ละบรรทัดในไฟล์
ทำตามขั้นตอนด้านล่างเพื่อเขียนโปรแกรม
- สร้างไฟล์ชื่อ random_text.txt และใส่ข้อความสองสามบรรทัดในนั้น
- เริ่มต้นตัวแปรข้อมูลเป็นสตริงว่าง
- เปิดไฟล์โดยใช้ with และ open method ในโหมดอ่านและเขียน
- อ่านเนื้อหาของไฟล์โดยใช้วิธี readlines
- วนซ้ำในแต่ละบรรทัดของเนื้อหา
- แยกบรรทัดข้อความโดยใช้วิธีแยกเป็นคำ
- ลบคำสุดท้ายโดยใช้วิธีใดวิธีหนึ่งข้างต้น
- เข้าร่วมผลลัพธ์เพื่อสร้างสตริง
- ผนวกผลลัพธ์กับตัวแปรข้อมูล
- ลบข้อมูลออกจากไฟล์โดยใช้วิธีการค้นหาและตัดทอน
- เขียนข้อมูลล่าสุดลงในไฟล์โดยใช้วิธีการเขียน
ไฟล์มีข้อมูลต่อไปนี้
This is a sample line for testing. LastWord. This is a sample line for testing. KillingIt. This is a sample line for testing. RandomWord. This is a sample line for testing. DeleteIt. This is a sample line for testing. RemovingIt.
ดูรหัสด้านล่าง
updated_data="" # opening the file with open('random_text.txt', 'r+') as file: # read the file content file_content = file.readlines() # iterate over the content for line in file_content: # removing last word updated_line=" ".join(line.split(' ')[:-1]) # appending data to the variable updated_data += f'{updated_line}n' # removing the old data file.seek(0) file.truncate() # writing the new data file.write(updated_data)
หากคุณรันโค้ดข้างต้นกับไฟล์ที่กำหนด ไฟล์จะมีข้อมูลที่อัปเดตดังต่อไปนี้
This is a sample line for testing. This is a sample line for testing. This is a sample line for testing. This is a sample line for testing. This is a sample line for testing.
หวังว่าคุณจะสนุกกับการกวดวิชา
มีความสุขในการเข้ารหัส🙂
ตรวจสอบการทำงานของสตริงย่อยใน Python ด้วย
สนุกกับการอ่านบทความ? แบ่งปันให้โลกรู้ได้อย่างไร?