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

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

Làm thế nào:

PowerShell sử dụng toán tử -replace để xóa các ký tự khớp với một mẫu. Dưới đây là một số hành động sửa chuỗi cho bạn:

# Thay thế đơn giản: loại bỏ chữ số
$text = 'ABC123'
$cleanText = $text -replace '\d+'
$cleanText  # Đầu ra: ABC

# Loại bỏ khoảng trắng
$text = 'Hello World         '
$trimmedText = $text -replace '\s+$'
$trimmedText  # Đầu ra: Hello World

# Loại bỏ các ký tự cụ thể
$text = 'uN_w@nt3d-charact3r$'
$cleanedUpText = $text -replace '[-@3$]', ''
$cleanedUpText  # Đầu ra: uNwntd-charactr

Sâu hơn nữa

Toán tử -replace của PowerShell là một công cụ mạnh mẽ mà sử dụng regex (biểu thức chính quy). Regex là một nghệ thuật gần như huyền bí; nó đã tồn tại từ những năm 1950 và hoạt động trên nhiều ngôn ngữ lập trình để khớp mẫu.

Có phương pháp thay thế cho -replace không? Đối với những việc đơn giản, có họ phương pháp .Trim() dành cho khoảng trắng và phương thức .Replace() cho các thay thế theo nghĩa đen. Nhưng toán tử -replace là lựa chọn của bạn cho các thao tác dựa trên mẫu.

Bên dưới capo, khi bạn sử dụng -replace, PowerShell tận dụng khả năng regex của .NET Framework. Đó là một hoạt động khớp và cắt mạnh mẽ hoạt động ở cấp độ từng ký tự để quyết định cái nào ở lại và cái nào đi. Hãy nhớ, các mẫu regex có thể trở nên phức tạp và tiêu thụ nhiều hơn năng lực xử lý cho các mẫu phức tạp, vì vậy sử dụng cẩn thận!

Xem thêm

Để đi sâu hơn vào hố thỏ regex, hãy xem những cái này: