Loại bỏ dấu ngoặc kép khỏi chuỗi

PowerShell:
Loại bỏ dấu ngoặc kép khỏi chuỗi

Làm thế nào:

Bạn có thể sử dụng toán tử -replace để loại bỏ dấu nháy khỏi chuỗi. Dưới đây là cách làm:

# Thay thế dấu nháy đơn
$stringWithSingleQuotes = "'Xin chào, Thế giới!'"
$cleanString = $stringWithSingleQuotes -replace "'", ""
Write-Output $cleanString  # Kết quả: Xin chào, Thế giới!

# Thay thế dấu nháy kép
$stringWithDoubleQuotes = '"Xin chào, Thế giới!"'
$cleanString = $stringWithDoubleQuotes -replace '"', ""
Write-Output $cleanString  # Kết quả: Xin chào, Thế giới!

Cho cả hai loại:

$stringWithQuotes = '"Chào bạn," cô ấy nói.'
$cleanString = $stringWithQuotes -replace "[\"']", ""  # Chú ý đến việc sử dụng lớp ký tự regex
Write-Output $cleanString  # Kết quả: Chào bạn, cô ấy nói.

Kết quả mẫu từ bảng điều khiển sẽ trông như thế này:

Xin chào, Thế giới!
Xin chào, Thế giới!
Chào bạn, cô ấy nói.

Sâu hơn

Trước kia, trước khi PowerShell trở thành một phần của Microsoft, xử lý văn bản trong Windows thường là lĩnh vực của các kịch bản batch có khả năng hạn chế. Sự giới thiệu của PowerShell mang lại tính năng mạnh mẽ trong việc thao tác chuỗi, khiến việc lập kịch bản trở nên mạnh mẽ hơn nhiều.

Có những phương pháp khác ngoài -replace, chẳng hạn như sử dụng phương pháp .Trim() để loại bỏ dấu nháy chỉ ở đầu và cuối chuỗi, nhưng chúng không cung cấp cùng một kiểm soát hoặc hỗ trợ regex.

# Sử dụng .Trim() cho dấu nháy ở đầu và cuối
$stringWithQuotes = '"Xin chào, Thế giới!"'
$cleanString = $stringWithQuotes.Trim('"')
Write-Output $cleanString  # Kết quả: Xin chào, Thế giới!

Lưu ý, -replace sử dụng regex đằng sau hậu trường, vì vậy khi bạn làm việc với nó, nhớ rằng các ký tự đặc biệt cần được thoát nếu bạn đang nhắm vào chúng. Nếu bạn cần kiểm soát chi tiết hơn đối với việc loại bỏ dấu nháy, việc đào sâu vào regex với -replace là con đường đi, mang lại cho bạn sự linh hoạt to lớn.

Xem thêm