Tôi có chuỗi giống như sau: "Doe, John, A" (họ, tên, chữ đệm giữa).Regex thay thế tất cả dấu phẩy bằng giá trị
Tôi đang cố gắng viết cụm từ thông dụng chuyển đổi chuỗi thành "Doe * John * A".
Tuy nhiên, tôi phải tính đến tất cả các khoảng trống cho chuỗi này vì vậy "Doe, John, A" sẽ vẫn chuyển đổi thành "Doe * John * A".
CSONG, chuỗi "Doe John A" phải chuyển thành "Doe * John * A".
Tôi bắt đầu viết điều này, nhưng tôi nghĩ rằng tôi bị kẹt trên không gian & khả năng người dùng không cung cấp dấu phẩy.
Dưới đây là những gì tôi có:
var myString = "John, Doe, A";
var myOtherString = "John Doe A";
var myFunction = function (aString) {
aString = aString.replace(", ", "*");
aString = aString.replace(", ", "*");
return aString;
};
Những cả nên trở "Doe*John*A"
.
Tôi nghĩ rằng tôi đang lặp lại bản thân mình quá nhiều trong chức năng này. Tôi cũng không tính đến khả năng không có dấu phẩy nào được cung cấp.
Có cách nào tốt hơn để thực hiện việc này không?
' "Doe, John, A" .replace (/ \ s *, \ s */g, ' * '); // "* D * o * e ** J * o * h * n ** A *" ' – CruorVult
@CruorNhững người cổ vũ, cố định –
Nếu tôi muốn thay thế * s bằng dấu gạch ngang thì sao? Tôi chỉ cần thay đổi điều này thành 'aString = aString.replace (/ [] *, [] * | [] +/g, '-'); ? ' --Cảm ơn câu trả lời hữu ích, btw. – Jeff