Suchen und Ersetzen von Zahlennamen durch Ziffern

Suchen und Ersetzen von Zahlennamen durch Ziffern

Ich habe einen langen Codeabschnitt mit Zahlennamen, die ich einfach durch Zahlensymbole ersetzen möchte.

Was ich habe:

PartOne
PartTwo
PartThree
PartFour
PartFive
...
PartOneHundred

Was ich möchte:

Part1
Part2
Part3
Part4
Part5
...
Part100

Irgendwelche Ideen, wie man das in Notepad++ oder Ähnlichem erreichen kann? Es wäre sehr zeitaufwändig, sie alle manuell zu ersetzen. Das scheint eine einfache Aufgabe zu sein, aber ich kann bei meinen Suchen kein entsprechendes Ergebnis finden.

Antwort1

Direkt in Notepad++ bezweifle ich das. Die Umwandlung von Text in eine Zahl erfordert viel Logik und selbst super-ausgefallene reguläre Ausdrücke sind dieser Aufgabe wahrscheinlich nicht gewachsen.

Wenn sie wirklich sequenziell (wie in Ihrem Beispiel) und wirklich zusammenhängend (wie in Ihrem Beispiel) sind, würde ich es wahrscheinlich einfach in meiner bevorzugten Tabellenkalkulation neu erstellen und dann aus Spalte B in Notepad++ kopieren/einfügen:

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

Wenn Sie bereit sind, eine Skriptsprache zu verwenden, hat PerlLingua::DE::Words2NumsModul, das Ihnen das Leben leichter macht

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

Dieses Skript enthält die Funktion, dass Zeilen, die mit „Part“ beginnen, in Zahlen umgewandelt werden, während Zeilen, die dies nicht tun, einfach durchgelassen werden. Wenn ich beispielsweise ein paar Zeilen zu Ihrem Beispiel hinzufüge, erhalte ich die folgende Ausgabe von meinem Skript:

Part1
ignore
Part2
Part3
Part4
keep in place
Part5
Part100
okay

Es würde mich nicht überraschen, wenn Python ein ähnliches Modul hätte (oder wie auch immer Python sein Äquivalent zu Perl-Modulen nennt). Wenn Sie mit Python besser vertraut sind, würde ich diesen Weg wählen, denn dann könnten Sie mit dem PythonScript-Modul direkt in Notepad++ einbauen und müssen die File-IO nicht im Skript durchführen.

verwandte Informationen