5

У меня есть строка с разделителями, состоящая из пар NAME|VALUE выглядят примерно так ...

Name1|Value1|Name2|Value2|Name3|Value3

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

Name1|Value1
Name2|Value2
Name3|Value3

Моя проблема не в новой строке, так как я знаю, что я могу использовать \r\n для этого, а в части регулярных выражений, которая заменяет только каждый второй экземпляр | ,

2 ответа2

10

Найти: ([^\|]*\|[^\|]*)\|
Заменить на: \1\n

3

Я хочу заменить каждый второй экземпляр | с новой строкой

  • Меню "Поиск"> "Заменить" (или Ctrl + H)

  • Установите "Найти что" в (.*?\|.*?)[\|]

  • Установите "Заменить на" на \1\r\n

  • Включить "Регулярное выражение"

  • Нажмите "Заменить все"

До:

Name1|Value1|Name2|Value2|Name3|Value3

После:

Name1|Value1
Name2|Value2
Name3|Value3

Заметки:

  • Выше предполагается, что вы редактируете текстовый файл с Windows EOLs, \r\n .

  • Если вы используете файлы с разными EOL, вы можете преобразовать их в Windows EOL, используя меню "Правка"> "Преобразование EOL".

  • Если вы не работаете с Windows EOL и не хотите конвертировать их, используйте следующее:

    • Используйте \n вместо \r\n для EOL Unix/OS X

    • Используйте \r вместо \r\n для Mac OS (до версии 9) EOL


дальнейшее чтение

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