Notepad ++ - поиск повторяющихся строк по первому слову - PullRequest
0 голосов
/ 30 мая 2020

Я искал в inte rnet, чтобы решить свою проблему, и прочитал несколько тем о переполнении стека, но не могу заставить его работать.

Итак, у меня есть несколько файлов с переводами. Каждая строка содержит один перевод с ключом перевода перед ним. Ключ отделяется от переведенной фразы :. В ключе может быть несколько подчеркиваний, но без пробела. Каждый ключ должен быть уникальным, даже если фраза перевода отличается.

Это небольшой пример того, как выглядят эти файлы:

CONFIRM: Conferma
FOR: per
YOU_WILL_RECEIVE: Riceverai
ENCHANTED: Incantato
ITEMS_AVAILABLE: Prodotti disponibili
CONTINUE: Continua
MONEY_PAID: Money Paid
GUI_OVERVIEW_OPENSHOPS_ACTION: Clicca per aprire i negozi
GUI_OVERVIEW_OPENSETTINGS_ACTION: Clicca per aprire le impostazioni
GUI_SHOPSETTINGS_BUY_LEFTACTION: **Tasto Sinistro** per **cambiare** il prezzo d'acquisto
GUI_SHOPSETTINGS_BUY_QACTION: **Premi Q** per disabilitare l'acquisto
ENCHANTED: Incantato premituro
GUI_SHOPSETTINGS_BUY_OTHERACTION: **Clicca** per abilitare l'**acquisto**

В этом примере ключ ENCHANTED дублируется даже эти ключи имеют разные фразы для перевода. Я просто хочу увидеть, что этот ключ продублирован.

Мой план состоит в том, чтобы сопоставить все эти строки с шаблоном регулярного выражения с помощью notepad ++, но если вам так проще, то я тоже могу используйте сценарий. Что-то вроде Batch или даже небольшое приложение NodeJS.

1 Ответ

2 голосов
/ 30 мая 2020

В блокноте ++ вы можете использовать это регулярное выражение, чтобы найти первое вхождение любого дублируемого ключа:

^(\w+):(?=.*\R\1:)

Он ищет последовательность символов слова между началом line и :, захваченные в группе 1, а затем утверждают положительный просмотр вперед для той же строки, начиная с новой строки (\R соответствует символу новой строки / crlf). Обратите внимание, что вам необходимо установить флажок . matches newline.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...