คุณสามารถลบอักขระออกจากสตริง Python ได้โดยใช้replace() หรือ translate() ทั้งสองวิธีนี้จะแทนที่อักขระหรือสตริงด้วยค่าที่กำหนด หากระบุสตริงว่างไว้ อักขระหรือสตริงที่คุณเลือกจะถูกลบออกจากสตริงโดยไม่มีการแทนที่
Python ลบอักขระออกจากสตริง
ไม่ใช่ทุกสตริงที่มีค่าที่เราต้องการให้มีค่า ผู้ใช้อาจแทรกสัญลักษณ์ลงในช่องป้อนข้อมูลที่คุณไม่ต้องการให้ปรากฏ คุณอาจต้องการลบตัวอักษรบางตัวออกจากสตริง
ไม่สำคัญว่าคุณต้องการลบอักขระใดออกจากสตริง Python ช่วยคุณได้!
ในคู่มือนี้ เราจะพูดถึงวิธีลบอักขระหรือชุดอักขระออกจากสตริง เราจะยกตัวอย่างบางส่วนไปพร้อมกัน
เราจะหารือเกี่ยวกับแนวทางต่อไปนี้:
- ใช้วิธีการแทนที่ ()
- การใช้เมธอด transform()
- การลบอักขระตัวสุดท้ายโดยใช้การจัดทำดัชนี
เริ่มกันเลย!
ลบอักขระออกจากสตริง Python:แทนที่ ()
สตริง replace() ฟังก์ชั่นแทนที่อักขระด้วยอักขระใหม่ ฟังก์ชันนี้สามารถใช้เพื่อแทนที่อักขระใดๆ ด้วยสตริงว่าง
เรากำลังสร้างโปรแกรมที่ขอให้ผู้ใช้ใส่ชื่อผู้ใช้ ไม่อนุญาตให้ใช้เครื่องหมายขีดล่าง (_) ในชื่อผู้ใช้ เปิดไฟล์ Python ใหม่แล้ววางในโค้ดต่อไปนี้:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ชื่อผู้ใช้ =input("เลือกชื่อผู้ใช้:")final_username =username.replace("_", "")print("ชื่อผู้ใช้ของคุณคือ:" + final_username)
รหัสนี้ขอให้ผู้ใช้เลือกชื่อผู้ใช้โดยใช้วิธีการ input()
replace() วิธีลบอักขระขีดล่างออกจากสตริงเดิมและแทนที่อินสแตนซ์ทั้งหมดของอักขระนั้นด้วยสตริงว่าง จากนั้น เราพิมพ์ชื่อผู้ใช้โดยไม่ขีดเส้นใต้คอนโซล
เริ่มต้นโปรแกรมของเรา:
เลือกชื่อผู้ใช้:pythonista_101ชื่อผู้ใช้ของคุณคือ:pythonista101
รหัสของเราได้ลบอักขระขีดล่างออกจากชื่อผู้ใช้ที่เราระบุ รหัสของเราใช้ได้กับสตริงที่ไม่มีขีดล่าง:
เลือกชื่อผู้ใช้:pythonista101ชื่อผู้ใช้ของคุณคือ:pythonista101
เมื่อชื่อผู้ใช้ไม่มีขีดล่าง จะไม่มีอะไรเกิดขึ้น
ลบอักขระหลายตัวโดยใช้การแทนที่ ()
จะเกิดอะไรขึ้นหากคุณต้องการลบอักขระหลายตัวออกจากสตริง ไพทอนสามารถช่วยคุณได้ เราสามารถใช้ replace() เมธอดภายใน for loop เพื่อลบอักขระหลายตัวออกจากสตริง
ในตัวอย่างที่แล้ว เราลบอักขระขีดล่างออกจากชื่อผู้ใช้ จะเป็นอย่างไรถ้าเราต้องการลบจุดทั้งหมด (หยุดเต็ม) ขีดล่าง และเครื่องหมายอัศเจรีย์ออกจากสตริงของเรา สร้างไฟล์ Python ใหม่แล้ววางในโค้ดนี้:
ชื่อผู้ใช้ =อินพุต("เลือกชื่อผู้ใช้:")disallowed_characters ="._!"สำหรับอักขระใน disallowed_characters:username =username.replace(character, "")print("ชื่อผู้ใช้ของคุณคือ:" + ชื่อผู้ใช้)ก่อน>อันดับแรก เราได้ขอให้ผู้ใช้เลือกชื่อผู้ใช้ เราได้กำหนดสตริงที่มีอักขระทั้งหมดที่ไม่ควรปรากฏในชื่อผู้ใช้ของผู้ใช้
ต่อไป เราได้สร้าง for loop สิ่งนี้สำหรับการวนซ้ำวนซ้ำทุกอักขระในสตริง “disallowed_characters” ในการวนซ้ำแต่ละครั้ง อักขระที่วนซ้ำ for จะถูกแทนที่ด้วยสตริง "ชื่อผู้ใช้" ด้วยอักขระว่าง
เรียกใช้รหัสของเรา:
เลือกชื่อผู้ใช้:pythonista.101!!!ชื่อผู้ใช้ของคุณคือ:pythonista101รหัสของเราได้กรองระยะเวลาและเครื่องหมายอัศเจรีย์ออก
ลบอักขระออกจากสตริง Python:translate()
Python translate() วิธีการแทนที่อักขระในสตริงตามเนื้อหาของตารางอักขระ เมธอดนี้ยอมรับหนึ่งอาร์กิวเมนต์:ตารางการแปลพร้อมอักขระที่จะแมป
ในการใช้วิธีนี้ เราต้องสร้างตารางการแปล ตารางนี้ระบุว่าควรเปลี่ยนอักขระใดในสตริง
มาใช้ translate() . กันเถอะ วิธีการลบขีดล่างทั้งหมดจากชื่อผู้ใช้:
ชื่อผู้ใช้ =input("เลือกชื่อผู้ใช้:")final_username =username.translate({ ord("_"):None })print("ชื่อผู้ใช้ของคุณคือ:" + final_username)รหัสนี้จะแทนที่ทุก ๆ อินสแตนซ์ของอักขระ "_" ด้วยค่าไม่มี วิธี Python ord() ส่งกลับรหัส Unicode ที่เกี่ยวข้องกับอักขระ “_” ใช้โดย translate() วิธีการระบุตัวละครที่เราต้องการลบออก
ลบอักขระหลายตัวโดยใช้ translate()
คุณสามารถลบอักขระหลายตัวออกจากสตริงได้โดยใช้ translate() .
เราสามารถทำได้โดยการสร้างตัววนซ้ำซึ่งวนรอบรายการอักขระที่เราต้องการลบออกจากสตริง
มาลบขีดล่าง จุด และเครื่องหมายอัศเจรีย์ทั้งหมดออกจากชื่อผู้ใช้:
ชื่อผู้ใช้ =อินพุต("เลือกชื่อผู้ใช้:")final_username =username.translate({ ord(c):ไม่มีสำหรับ c ใน "._!" })print("ชื่อผู้ใช้ของคุณคือ:" + final_username)ก่อน>translate() เมธอดจะตรวจสอบว่าอักขระแต่ละตัวในสตริง "ชื่อผู้ใช้" มีค่าเท่ากับจุดหยุดทั้งหมด เครื่องหมายอัศเจรีย์ หรือขีดล่างหรือไม่ หากพบหนึ่งในอักขระเหล่านี้ จะถูกแทนที่ด้วยไม่มี การดำเนินการนี้จะลบอักขระออกจากสตริง
เรากำลังใช้การทำความเข้าใจรายการ Python เพื่อทำซ้ำทุกอักขระในรายการอักขระที่ยกเว้น
มาทดสอบโปรแกรมของเรากัน:
เลือกชื่อผู้ใช้:pythonista_100!ชื่อผู้ใช้ของคุณคือ:pythonista101รหัสของเราลบอักขระพิเศษทั้งหมดที่เราระบุออกจากสตริงเรียบร้อยแล้ว
Python:ลบอักขระตัวสุดท้ายออกจากสตริง
หากต้องการลบอักขระตัวสุดท้ายออกจากสตริง ให้ใช้สัญกรณ์สไลซ์ [:-1] สัญกรณ์นี้เลือกอักขระที่ตำแหน่งดัชนี -1 (อักขระตัวสุดท้ายในรายการ) จากนั้น ไวยากรณ์จะส่งกลับทุกอักขระยกเว้นตัวนั้น
ไวยากรณ์สำหรับการลบอักขระตัวสุดท้ายออกจากสตริงคือ:
your_string ="A string"print(your_string[:-1])เอาตัวอย่างอักขระตัวสุดท้ายออก
เราต้องการสร้างโปรแกรมที่ลบอักขระตัวสุดท้ายออกจากตัวระบุพนักงาน ตัวละครนี้บอกเราถึงแผนกที่พนักงานทำงาน
ตัวอย่างเช่น ค่า “M” บอกเราว่าพนักงานทำงานให้กับแผนกการตลาด เราจะลบตัวละครนี้ ระบบติดตามพนักงานนี้กำลังถูกแทนที่ด้วยระบบใหม่ ระบบใหม่จะติดตามแผนกที่พนักงานทำงาน
เริ่มต้นด้วยการขอให้ผู้ใช้แทรกตัวระบุพนักงานโดยใช้วิธีการ input():
identifier =input("ตัวระบุพนักงานคืออะไร")ต่อไป เราจะลบอักขระตัวสุดท้ายออกจากตัวระบุ:
new_identifier =ตัวระบุ[:-1][:-1] คือการดำเนินการสไลซ์สตริงที่ลบอักขระตัวสุดท้ายออกจากรายการ เราใช้การจัดทำดัชนีเชิงลบเพื่อดึงรายการจากจุดสิ้นสุดของสตริง ตอนนี้แสดงตัวระบุใหม่ของพนักงานไปที่คอนโซล:
print("ตัวระบุใหม่ของพนักงานคือ {}.".format(new_identifier))คำสั่ง format() แทนที่วงเล็บปีกกาภายในสตริงของเราด้วยตัวระบุใหม่ของพนักงาน เรียกใช้โค้ดของเราแล้วดูว่าเกิดอะไรขึ้น:
ตัวระบุพนักงานคืออะไร? 28371Mตัวระบุใหม่ของพนักงานคือ 28371โปรแกรมของเราลบค่าสุดท้ายในตัวระบุพนักงาน
บทสรุป
คุณสามารถลบอักขระหนึ่งตัวหรือหลายตัวออกจากสตริงได้โดยใช้ replace() หรือ translate() . ทั้ง replace() และ translate() วิธีการส่งคืนผลลัพธ์เดียวกัน:สตริงที่ไม่มีอักขระที่คุณระบุ
สำหรับผู้เริ่มต้น replace() วิธีใช้ง่ายกว่า เนื่องจากยอมรับเพียงสองพารามิเตอร์เท่านั้น
พารามิเตอร์แรกคืออักขระที่คุณต้องการแทนที่ พารามิเตอร์ที่สองของเราคือค่าที่คุณต้องการแทนที่อักขระ หากต้องการแทนที่อักขระหลายตัว คุณสามารถใช้ a for loop ได้
คุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Python หรือไม่? ดูคู่มือ How to Learn Python ฉบับสมบูรณ์สำหรับคำแนะนำจากผู้เชี่ยวชาญที่จะช่วยให้คุณก้าวไปสู่เส้นทางการเรียนรู้