Я хочу выяснить, как использовать регулярные выражения для замены трех разделов текста, разделенных кавычками / запятыми. Для целей этого вопроса я буду называть их строками, хотя я не уверен, что это будет правильно. Пример ниже:

"TEXT_MAP_CENTER","中央地点","Center of Map"

Мне нужно поменять местами японский текст во второй строке с английским в первой, поэтому он гласит:

"TEXT_MAP_CENTER","Center of Map","中央地点"

Это всего лишь одна строка из примерно 4300+, и каждая строка уникальна. К счастью, в этом конкретном файле каждая строка всегда состоит из трех строк. Для этого есть второй файл, в который оборачивается текст.

Чтобы сделать это быстро, я понимаю, что есть способы сделать это с помощью регулярных выражений, но, учитывая, что это не моя обычная область знаний, мне действительно тяжело с этим справляться. Как я могу сделать это?

1 ответ1

0

замещать

,(".*?"),(".*?")$

с

,\2,\1

Функция two () захватывает две строки, на которые ссылаются \1 и \2 соответственно. Затем мы заменяем первую на вторую строку и наоборот

Если строки содержат символы новой строки, то вам просто нужно выбрать . соответствует переводу строки в опции поиска по регулярному выражению. Альтернативный способ без включения этой опции

Find what:    ^("[^"]*"),("[^"]*"),("[^"]*")$
Replace with: \1,\3,\2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .