1

У меня есть огромное количество строк, содержащих это, например, этот текст: OU111_DI_Z006_1

Обратите внимание, что некоторые символы различаются в каждой строке, представленной @. Вот так: OU @@@ _ @@ _ Z0 @@ __ @

Как я могу использовать функцию поиска замены, чтобы добавить символ X перед Z?

Как это: OU111_DI_XZ006_1

2 ответа2

5

В окне замены отметьте регулярное выражение и

Найти что: (OU..._.._)(Z0.._.)

Заменить на: \1X\2

http://docs.notepad-plus-plus.org/index.php/Regular_Expressions

0

Это зависит от ваших данных. Являются ли символы "OU" и "Z0" уникальными для отображения начала каждой подстроки ... или они могут отображаться случайным образом (например, OU222_Z0_Z055 ..)?

Если они УНИКАЛЬНЫ и не могут отображаться нигде, кроме как в начале каждой подстроки, тогда простое регулярное выражение может работать очень обобщенно:

Find:  (OU.*)(Z0.*)
Replace:  \1X\2

Здесь вы группируете все (. *), Которое начинается с OU как «\1». И, группируя все, начиная с Z0, как "\2". (Скобки создают группы.)

Строка замены просто помещает X между группами 1 и 2.

ПРИМЕЧАНИЕ: это очень похоже на ответ marbel82, за исключением того, что оно более общее, потому что вы не указываете, сколько символов подчеркивания и символов должно существовать.

..

Однако, если OU и Z0 не являются уникальными маркерами, вам нужно лучше понять свои данные, чтобы создать общее регулярное выражение для его характеристик.

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