
我有很長一段包含數字名稱的程式碼,我想用數字符號替換它。
我擁有的:
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」開頭的行將轉換為數字,而不是直接通過。例如,在範例中添加幾行,我從腳本中得到以下輸出:
Part1
ignore
Part2
Part3
Part4
keep in place
Part5
Part100
okay
如果 Python 有類似的模組(或任何 Python 稱為 Perl 模組的等價物),我不會感到驚訝。如果你更熟悉 Python,我會走這條路,因為這樣你就可以使用 PythonScript 模組直接建置到 Notepad++ 中,而不必在腳本中執行 File-IO。