查找并用数字替换数字名称

查找并用数字替换数字名称

我有一长段带有数字名称的代码,我想用数字符号替换它们。

我拥有的:

PartOne
PartTwo
PartThree
PartFour
PartFive
...
PartOneHundred

我想要的是:

Part1
Part2
Part3
Part4
Part5
...
Part100

关于如何在 Notepad++ 或类似软件中完成此操作,您有什么想法吗?手动替换所有文件会非常耗时。这似乎应该是一项简单的任务,但我在搜索中找不到任何这样的结果。

答案1

直接在 Notepad++ 中,我对此表示怀疑。将文本转换为数字需要很多逻辑,甚至超级花哨的正则表达式可能也无法完成这项任务。

如果它们确实是连续的(如您的示例)并且确实是连续的(如您的示例),我可能会在我最喜欢的电子表格中重建它,然后从 ColumnB 复制/粘贴到 Notepad ++ 中:

# | ColumnA  | ColumnB
1 | =row()   | ="Part"&A1
2 | =row()   | ="Part"&A2
...

如果你愿意使用脚本语言,Perl 有Lingua::EN::Words2Nums模块可以帮助您的生活更轻松

cat source.txt | perl -MLingua::EN::Words2Nums -e "while (<>) { if(/^Part/) { s/^Part//; print 'Part' . words2nums($_) . qq{\n}; } else { print $_; }; } " > destination.txt

此脚本包含以下功能:以“Part”开头的行将转换为数字,而以“Part”开头的行将直接通过。例如,在您的示例中添加几行后,我的脚本输出结果如下:

Part1
ignore
Part2
Part3
Part4
keep in place
Part5
Part100
okay

如果 Python 有类似的模块(或者 Python 称之为与 Perl 模块等同的模块),我不会感到惊讶。如果您更熟悉 Python,我会选择这种方式,因为这样您就可以使用 PythonScript 模块直接构建到 Notepad++ 中,而不必在脚本中执行 File-IO。

相关内容