Заменить одно и то же слово в разных строках случайным словом - PullRequest
0 голосов
/ 31 декабря 2018

Как заменить одно и то же слово в разных строках случайным словом в блокноте ++

test
test
test
test

Заменить случайной строкой:

sdwd
sasd
wdsa
dsas

1 Ответ

0 голосов
/ 03 января 2019

Регулярные выражения сами по себе не генерируют случайные данные.Они могут просто соответствовать определенному образцу.Они также могут использоваться для замены некоторых шаблонов, но замена должна быть фиксированной или основанной на входных данных.Поэтому, если вам нужна какая-то случайная замена, вам нужны регулярные выражения и некоторый язык программирования (обычно scripts )

Даже если вы не возражаете , предварительно сгенерировав несколько случайных слов , вы все еще можете выполнить эту задачу только с помощью notepad ++ с помощью макросов .

Идея состоит в том, чтобы создать файл с такой структурой:

The data
you want 
to substitute

<SOME DELIMITER>
a list of random words
there must exist enought quantity of words/strings
<SOME DELIMITER>

Например:

a test on the first test phrase
a second test on the second test phrase

some test some test
some test some test

some test some test
some test some test

some test some test
some test some test

@@@@@@@@
qpfdhong
vvbpkwhi
aqhvuxxi
vtgaxofv
vwclbdxf
ecspqfdp
qqfimcum
bfqznfsa
pjwzjvzz
ybgvxzcl
tvsxpczg
hczduhkk
ydryudel
gnayvwjs
lncmqude
spilblsk
@@@@@@@@

Вы можете генерировать случайные слова / строки на этой странице: https://www.random.org/strings/

Таким образом, идея состоит в том, чтобы использовать макрос для записи этих действий:

  1. Замените первое «тестовое» слово на первое слово для замены
  2. Удалите первое слово / строку для замены
  3. Повторяйте, пока все слова не будут заменены

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

Процедура записи макроса:

  1. Нажмите кнопку записи макроса
  2. Menu => Search=> Перейти к ( Control + G ) 1 => Перейти
  3. Поиск и замена ( Control + H )
  4. Find What => \btest\b(?=[\s\S]*\r?\n@@@@@@@@\r?\n(\w+)) (где «test» - слово для замены, а «@@@@@@@@» - разделитель для случайных слов)
  5. Replaceпо => \1
  6. Найти следующее
  7. Заменить
  8. Закрыть диалог поиска и замены.
  9. Search => Find ( Control + F )
  10. Find what => @@@@@@@@\r?\n\K
  11. Find Next
  12. Закрыть диалоговое окно поиска.
  13. Поиск => Закладка => Переключить закладку
  14. Поиск => Закладка => Удалить отмеченные строки
  15. Остановить запись макроса
  16. (Необязательно) Отменить последнюю замену с помощью 2 Control + Z .Это просто для проверки всей подстановки сразу.
  17. Воспроизвести макрос с помощью кнопки Run a macro multiple times
  18. Макрос для запуска => «Текущий записанный макрос» или, если вы уже сохранили макрос, используйтевыпадающий список для его поиска.
  19. "Выполнить до конца файла"
  20. Выполнить

Результаты:

a qpfdhong on the first vvbpkwhi phrase
a second aqhvuxxi on the second vtgaxofv phrase

some vwclbdxf some ecspqfdp
some qqfimcum some bfqznfsa

some pjwzjvzz some ybgvxzcl
some tvsxpczg some hczduhkk

some ydryudel some gnayvwjs
some lncmqude some spilblsk

@@@@@@@@
@@@@@@@@

Наконец, вот видео процесса.

Помните, что если вы уже записали и сохранили свой макрос, вам просто нужно будет выполнить шаги с 17 по 20.

Random words rubstitution

...