У меня есть длинный фрагмент кода, в котором есть числовые имена, которые я хотел бы заменить только числовыми символами.
Что у меня есть:
PartOne
PartTwo
PartThree
PartFour
PartFive
...
PartOneHundred
Что я хочу:
Part1
Part2
Part3
Part4
Part5
...
Part100
Любые идеи о том, как сделать это в Notepad ++ или аналогичный? Было бы очень много времени, чтобы заменить их все вручную. Кажется, что это должно быть легкой задачей, но я не могу найти такой результат в моих поисках.
notepad++
text-editors
tomysshadow
источник
источник
Ответы:
Прямо в Notepad ++ я в этом сомневаюсь. Преобразование текста в число имеет много логики, и даже супер-необычные регулярные выражения, вероятно, не подходят для этой задачи.
Если они действительно последовательные (как ваш пример) и действительно являются смежными (как ваш пример), я, вероятно, просто перестроил бы его в моей любимой электронной таблице, а затем скопировал / вставил из ColumnB в Notepad ++:
Если вы хотите использовать язык сценариев, в Perl есть модуль Lingua :: EN :: Words2Nums, чтобы облегчить вашу жизнь
Этот скрипт включает в себя функцию, заключающуюся в том, что строки, начинающиеся с «Part», будут преобразованы в числовые, тогда как строки, которые не будут проходить прямо через. Например, добавив пару строк в ваш пример, я получил следующий вывод из моего скрипта:
Меня не удивит, если у Python есть подобный модуль (или как бы он ни называл свой эквивалент модулей Perl). Если вам удобнее работать с Python, я бы пошел по этому пути, потому что тогда вы могли бы встроиться непосредственно в Notepad ++ с помощью модуля PythonScript, и вам не пришлось бы выполнять File-IO в сценарии.
источник