Xóa các ký tự phù hợp với một mẫu

Elixir:
Xóa các ký tự phù hợp với một mẫu

Cách làm:

Trong Elixir, sử dụng hàm String.replace/4 để xóa ký tự phù hợp với một mẫu. Hãy xem những ví dụ sau:

# Xóa số từ một chuỗi
original_string = "Elixir2023Rocks!"
clean_string = String.replace(original_string, ~r/\d/, "")
IO.puts(clean_string) # Kết quả: "ElixirRocks!"

# Gỡ bỏ dấu câu
punctuationless_string = String.replace(original_string, ~r/[[:punct:]]/, "")
IO.puts(punctuationless_string) # Kết quả: "Elixir2023Rocks"

# Làm sạch khoảng trắng
no_whitespace_string = String.replace(original_string, ~r/\s/, "")
IO.puts(no_whitespace_string) # Kết quả: "Elixir2023Rocks!"

Tìm hiểu sâu hơn

Việc sử dụng tương thích mẫu để xóa ký tự trong chuỗi không phải là độc quyền của Elixir; nó là một tính năng phổ biến trong hầu hết các ngôn ngữ lập trình, phát triển từ khả năng thể hiện chính quy (regex) trong các công cụ Unix đầu tiên như sedgrep. Các phương pháp thay thế cho String.replace/4 có thể là sử dụng tương thích mẫu và đệ quy để thực hiện điều hướng và chỉnh sửa chuỗi một cách thủ công, nhưng phương pháp này thường dài dòng và phức tạp hơn, làm cho các hàm regex tích hợp trở thành lựa chọn ưu tiên. Bên dưới cùng, String.replace/4 tận dụng di sản Erlang của Elixir, sử dụng khả năng tương thích mẫu mạnh mẽ và thao tác chuỗi của máy ảo BEAM.

Xem thêm: