2016-09-06 4 views
1

У меня есть строки текста следующие в том же формате:Поменять текст вокруг персонажа

Title1 : Text1 Title2 : Text2

Как я могу поменять текст на обеих сторонах : на другую сторону? Как:

Text1 : Title1 Text2 : Title2

Я могу написать небольшой скрипт, чтобы сделать это, но мне было интересно, если есть более быстрый способ сделать это с Regex, встроенный в функциональности или любой другой магии?

+0

Есть ли ведущие/задние пробелы для обработки? Если да, используйте '^ (\ h * \ w +) (\ h *: \ h *) (\ w + \ h *) $' -> '$ 3 $ 2 $ 1' замену регулярных выражений. –

+0

@ WiktorStribiżew, Невозможно найти текст. Позвольте мне рассказать подробнее о линиях. Они все в этом формате: 'Домашняя страница (домашняя страница): http: // www.example.com /' – Leustad

+2

Ага, это другой чайник рыбы. Используйте '^ ([^ \ r \ n:] +) (: \ h *) (. *) $' И используйте ту же замену. Или '^ ([^ \ r \ n:] +) (: \ h *) ([^: \ r \ n] +) $' –

ответ

1

Вы можете использовать

^([^\r\n:]+)(:\h*)(.*)$ 

или

^([^\r\n:]+)(:\h*)([^:\r\n]+)$ 

Заменить $3$2$1 где $n являются обратные_связью к значениям, захваченным с захватом групп. Группы нумеруются автоматически в том порядке, в котором они отображаются в шаблоне.

Детали:

  • ^ - начало строки
  • ([^\r\n:]+) - Группа 1 позже ссылаются как $1 захвата одного или более других, чем CR, LF символов и двоеточие
  • (:\h*) - Группа 2 захват двоеточия и нулевые или более горизонтальные пробелы
  • ([^:\r\n]+) -группа 3, на которую ссылаются $3 позже. См. Выше.
  • $ - конец строки.
0

Шаг 1: Удерживайте кнопку Alt на клавиатуре и выделите 3-й столбец, то есть Text1. Это выберет весь 3 столбца.

Шаг 2: Щелкните правой кнопкой мыши и выберите «Вырезать», а затем Вставьте перед 1-й колонкой.

Шаг 3: Удерживайте кнопку Alt на клавиатуре и выделите столбец «:».

Шаг 4: Щелкните правой кнопкой мыши и выберите «Вырезать», а затем «Вставить» между 1-й и 2-й колонками.

+0

Нет столбцов. Это текст в строках. – Leustad

+0

Если столбцов нет, он все равно должен работать. Вы пытались удерживать кнопку alt и выделяя текст после «:» –

+0

Я знаю, что вы пытаетесь сделать.Эти строки имеют разную длину, поэтому я не могу выбрать их таким образом. – Leustad