จะลบอักขระตัวสุดท้ายออกจาก Python String ได้อย่างไร

ลองดูวิธีต่างๆ ในการลบอักขระตัวสุดท้ายออกจากสตริงใน 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
  • วนซ้ำในแต่ละบรรทัดของเนื้อหา
    • แยกบรรทัดข้อความโดยใช้วิธีแยกเป็นคำ
    • ลบคำสุดท้ายโดยใช้วิธีใดวิธีหนึ่งข้างต้น
    • เข้าร่วมผลลัพธ์เพื่อสร้างสตริง
    • ผนวกผลลัพธ์กับตัวแปรข้อมูล
  • ลบข้อมูลออกจากไฟล์โดยใช้วิธีการค้นหาและตัดทอน
  • เขียนข้อมูลล่าสุดลงในไฟล์โดยใช้วิธีการเขียน
  วิธีบล็อกการโทรด้วยโทรศัพท์และ FaceTime บน iPhone และ iPad

ไฟล์มีข้อมูลต่อไปนี้

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.

หวังว่าคุณจะสนุกกับการกวดวิชา

  เรียนรู้ MLOps ด้วย 10 หลักสูตรเหล่านี้

มีความสุขในการเข้ารหัส🙂

ตรวจสอบการทำงานของสตริงย่อยใน Python ด้วย

สนุกกับการอ่านบทความ? แบ่งปันให้โลกรู้ได้อย่างไร?

เรื่องล่าสุด

x