การลบตัวอักษรที่ตรงกับรูปแบบ

Elixir:
การลบตัวอักษรที่ตรงกับรูปแบบ

วิธีการ:

ใน Elixir, ใช้ฟังก์ชั่น String.replace/4 เพื่อลบอักขระที่ตรงกับแบบแผน ดูตัวอย่างเหล่านี้:

# ลบตัวเลขออกจากสตริง
original_string = "Elixir2023Rocks!"
clean_string = String.replace(original_string, ~r/\d/, "")
IO.puts(clean_string) # ผลลัพธ์: "ElixirRocks!"

# ลบเครื่องหมายวรรคตอน
punctuationless_string = String.replace(original_string, ~r/[[:punct:]]/, "")
IO.puts(punctuationless_string) # ผลลัพธ์: "Elixir2023Rocks"

# กำจัดช่องว่าง
no_whitespace_string = String.replace(original_string, ~r/\s/, "")
IO.puts(no_whitespace_string) # ผลลัพธ์: "Elixir2023Rocks!"

การศึกษารายละเอียดเพิ่มเติม

การใช้การจับคู่แบบแผนเพื่อลบอักขระในสตริงไม่ได้เป็นเอกลักษณ์ของ Elixir เท่านั้น; นี่เป็นคุณสมบัติทั่วไปในเกือบทุกภาษาโปรแกรมมิ่ง ซึ่งพัฒนามาจากความสามารถในการใช้ regular expression (regex) ในเครื่องมือ Unix ตั้งแต่ต้นเช่น sed และ grep ทางเลือกอื่นๆ สำหรับ String.replace/4 อาจเป็นการใช้การจับคู่แบบแผนและการเรียกซ้ำเพื่อเดินทางผ่านและแก้ไขสตริงด้วยตนเอง แต่วิธีนี้โดยทั่วไปมีความซับซ้อนและยาวขึ้น ทำให้ฟังก์ชั่น regex ที่มาพร้อมกับตัวมันเองเป็นที่นิยม ใต้ฝาปิด, String.replace/4 ใช้ประโยชน์จากมรดกของ Erlang ใน Elixir โดยใช้ความสามารถในการจับคู่แบบแผนและการจัดการสตริงที่ทรงพลังของเครื่องจักร BEAM สมมุติฐาน

ดูเพิ่มเติมที่: