Witam ekspertów wyrażenie regularneWyrażenia regularne - jak zastąpić znak w cudzysłowie
nigdy nie było problemem manipulacji ciąg nie mogę rozwiązać z wyrażeń regularnych do tej pory, przynajmniej w elegancki sposób za pomocą tylko jednego krok. Oto przykładowe dane pracuję z:.
0 „sekcja1”, "(7) Dostawa «świadectwo»poza granicami Stanów Zjednoczonych zabronione Ponieważ zarówno sekcji 339 statutu 1940, 68/a odcinek 341 niniejszej ustawy są wyraźny w swoim oświadczeniu, że certyfikat będą dały obywatela, tylko jeśli taka osoba jest w czas w Stanach Zjednoczonych, to jest jasne, że dokument ten nie może i nie można ich dostarczyć poza teren Stanów Zjednoczonych . ", Http: //www.google.co m/
1 "sekcja2" ,, http: //www.google.com/
2 "sekcja3", ",,", http: //www.google.com/
To jest sekcja znacznie większego pliku CSV. Z jednym eleganckim wyrażeniem regularnym chciałbym zastąpić tylko wszystkie przecinki występujące w podwójnych cudzysłowach znakiem podkreślenia (_). Ważne jest, aby wyrażenie regularne NIE zastępowało przecinków poza cudzysłowami, ponieważ mogłoby to zepsuć strukturę danych CSV.
Dzięki, Tom
-
Wyjaśnienie:
Sorry chłopaki, wysłałem pytanie bez pełnego wyjaśnienia mojej sytuacji, więc pozwól mi podsumować następująco:
- Przyjmijmy że cytaty w cudzysłowie są już zmienione (cytaty w cudzysłowach w pliku CSV zapisanym przez Excela są reprezentowane przez
""
lub"""
itd., Więc można je łatwo wymienić wcześniej). - Pracuję w JavaScript.
Korzystanie z przykładowy tekst powyżej, tutaj jest to, co powinno wyglądać po uruchomieniu zastąpienie wyrażenia regularne (nie powinno być w sumie 5 zamienniki):
0 „sekcja1”, "(7) Dostawa „świadectwo” poza Stanami Zjednoczonych zabronione. Ponieważ zarówno sekcji 339 1940 statute_ 68/i odcinek 341 niniejszej ustawy są wyraźny w swoim oświadczeniu, że certyfikat będą dały citizen_ tylko jeśli takie indi indywidualnej, jest czas w Stanach States_ to jest jasne, że dokument ten nie mógł i nie mogą być dostarczane poza Stanów Zjednoczonych „http: //www.google.com/
1”. sekcja2 ",, http: //www.google.com/
2 "sekcja3", "__", http: //www.google.com/
W jaki sposób unikniesz cytatów z cytatów? –
@Assaf, dobre pytanie; zobacz moje wyjaśnienie powyżej. – 10basetom