尋找號碼名稱並將其替換為數字

尋找號碼名稱並將其替換為數字

我有很長一段包含數字名稱的程式碼,我想用數字符號替換它。

我擁有的:

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。

相關內容