/ / JavaScript: Zamień przecinek na ### - tylko z podwójnymi cudzysłowami (zdarzenie pasujące do wewnętrznych podwójnych cudzysłowów) - javascript, regex

JavaScript: zamień przecinkę na ### - tylko z podwójnym cudzysłowem (zdarzenie, aby dopasować podwójne cudzysłowy) - javascript, regex

W poniższym ciągu

"This "is, "just, for", Test", ignore it. My name is "FirstName, LastName"."

Chcę zastąpić wszystkie przecinki (,) tylko w cudzysłowach („”) znakiem ###.

Na razie znalazłem tylko pasujący wzorzec dla („”), ale muszę zbudować wyrażenie regularne, aby zastąpić przecinki.

/".*?"/g

Czy mógłbyś mi pomóc? Z góry dziękuję ;)

Oczekiwany o / p:

This "is### "just### for"### Test", ignore it. My name is "FirstName### LastName".

Uwaga: to nie jest duplikat „Znajdź przecinek w cudzysłowach za pomocą wyrażenia regularnego i zamień na equiv HTML". Proszę zobaczyć moje oczekiwane o / p (Nawet ja chcę zastąpić przecinek w wewnętrznych podwójnych cudzysłowach).

Odpowiedzi:

1 dla odpowiedzi № 1

Chwyć ciąg między cudzysłowami "i podaj funkcję zastępczą jako drugi argument String.replace aby wymienić wszystko , wewnątrz cytatów do ###:

inputString.replace(/"([^"\]|\.)*"/g, function ($0) {
return $0.replace(/,/g, "###");
});

Możesz wkleić ten kod do konsoli w celu przetestowania:

"This "is, \"just, for\", Test", ignore it. My name is "FirstName, LastName".".replace(/"([^"\]|\.)*"/g, function ($0) {
return $0.replace(/,/g, "###");
});