Ich versuche, jede Zeile in einer TXT-Datei wie folgt neu zu positionieren. Ich habe jedoch keine Ahnung, wie ich vorgehen soll. Ist das mit Notepad ++ möglich?
Von
apple|[email protected]|orange
Sellerie | [email protected] | kohlsandwich|
[email protected] | turkey
An
apple|orange|[email protected]
cellery|cabbage|[email protected]
sandwich|turkey|[email protected]
Antworten:
Spalten in einer Textdatei neu anordnen
Ja, dies ist in Vanilla möglich
Notepad++
, aber wie bereits erwähnt, gibt es auch Plugins, die dies tun. Ein besserer (robusterer) Ansatz könnte darin bestehen, einige Befehlszeilentextverarbeitungstools zu verwenden. Wenn Sie jedoch eine schnelle und schmutzige Lösung benötigen, finden Sie diese unten:Angenommen, Sie geben Ihre genaue Eingabe ein (
col1|col2|col3
Rohrbegrenzer, kein Rohr incol2
):Finden :
(.*?)\|(.*?)\|(.*)
Ersetzen :
\1|\3|\2
arbeitet für mich hier in
Notepad++
, gebaut im Januar 2015. Etwas brutal, aber es funktioniert.Erläuterung:
.*
- Entspricht einem beliebigen Zeichen (außer Zeilenumbruch) zwischen null und unbegrenzt oft.*?
- entspricht einem beliebigen Zeichen (außer Zeilenumbruch) wie oben auf nicht gierige Weise (dh entspricht so wenig wie möglich )(.*)
- einfache Klammern bezeichnen Gruppe Einfangen von oben (in Gebrauch zu ersetzen , wie beispielsweise\1
,\2
,\3
usw.)\|
-\
entkommt Pipe (|
), um es buchstäblich anzupassen\1|\3|\2
- 1. passende Gruppe, Pipe, dritte passende Gruppe, Pipe, zweite passende Gruppe druckenquelle
.*
nicht gierig machen, dh.*?
viel Backtracking vermeiden??
Zeichen zu schreiben , scheint dumm zu sein.(.*?)|(.*?)|(.*)
funktioniert bei mir.