Notepad ++ Mischen Sie mehr als 10 Zeilen in eine Zeile

6177
pau13z

Ich versuche Notepad ++ zu verwenden, um mehrere Zeilen in einer zusammenzuführen. Das Problem, mit dem ich konfrontiert bin, ist, wenn ich diesen Code ausprobiere.

Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by: 

Finden: (.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)

Ersetzen mit: \1\t\2\t\3\t\4\t\5\t\6\t\7\t\8\t\9\t\10\t\11\t\12\t\13\t

Ergebnis: Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Date/Time:0 Date/Time:1 Date/Time:2 Date/Time:3

Kann jemand mit einem einfacheren oder kürzeren Weg helfen? Ich kann den Text nicht markieren und "Zeilen verbinden" auswählen. Das Dokument hat tausende dieser Ergebnisse und ich versuche zu rationalisieren. Es ist immer ein Satz von 13.

1
Haben Sie das `TextFX`-Plugin in Notepad ++ ausprobiert? Es enthält die Menüoption` TextFX> TextFX Edit> Unwrap Text ', die Ihre Anforderungen erfüllt. Sie könnten auch `\ r \ n` im erweiterten Suchmodus durch` \ t` ersetzt haben AEonAX vor 7 Jahren 0

3 Antworten auf die Frage

3
Gypsy Spellweaver

Option 1: Ändern Sie Ihre Ersetzung, um geschweifte Zahlen zu verwenden:

Bearbeiten : Korrigierte Ersatzzeichenfolge

\ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t

$\t$\t$\t$\t$\t$\t$\t$\t$\t$\t$\t$\t$ 

Option 2: Ihre Übereinstimmungszeichenfolge, um benannte Gruppen aufzunehmen:

(?<a>.+)\r\n(?<b>.+)\r\n(?<c>.+)\r\n(?<d>.+)\r\n(?<e>.+)\r\n(?<f>.+)\r\n(?<g>.+)\r\n(?<h>.+)\r\n(?<i>.+)\r\n(?<j>.+)\r\n(?<k>.+)\r\n(?<l>.+)\r\n(?<m>.+) 

AND, ändern Sie die Ersetzungszeichenfolge, um diese Gruppen zu verwenden:

Bearbeiten : Korrigierte Ersatzzeichenfolge

\ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g \ t \ g

$+\t$+\t$+\t$+\t$+\t$+\t$+\t$+\t$+\t$+\t$+\t$+\t$+ 

Ihre Wahl, obwohl Option 1 weniger Arbeit bedeutet, kann Option 2 auch nützlich sein.

Neuer Hinweis : Die Namen in Option 2 <a>und sind nicht auf ein Zeichen beschränkt. Sie können eine beliebige Zeichenfolge vom Typ "Name" sein, solange sie sich im normalen Bereich von Buchstaben, Zahlen und Unterstrichen befindet. Nicht sicher, ob andere Sonderzeichen, einschließlich Leerzeichen, gültig sind. Sie zu vermeiden, ist am klügsten, nur für den Fall.

Hallo Gypsy, mit Option 1 bekam ich: g g g g g g g g g g g g g Und mit Option 2 erhielt ich: g g g g g g g g } g g g g g pau13z vor 7 Jahren 0
Schrott, dass mit Option 1 nichts passiert ist Und mit Option 2 habe ich: g g g g g g g g g g { i} g g g g pau13z vor 7 Jahren 0
Mein Fehler. Die Versionen "\ g " und "\ g " dienen zur Rückreferenz in der Suche selbst. Hier sind die korrigierten Versionen: 1) Verwenden Sie anstelle von \ g `$ `. Es ist also $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ \ t $ `. 2) Verwenden Sie anstelle von \ g `$ + `, also $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + \ t $ + `. Beachten Sie, dass in beiden Versionen kein `\` vor dem `$` steht. Bei Version 2 bleibt die Suchzeichenfolge unverändert. Übrigens ist das "(? ..." nicht auf 1 Zeichen beschränkt. Es kann "(?") Sein.... zum Beispiel. Gypsy Spellweaver vor 7 Jahren 0
@ pau13z. Antwort aktualisiert mit den korrigierten Ersatzzeichenfolgen. Das tut mir leid. Gypsy Spellweaver vor 7 Jahren 0
Legende! Option 1 hat für mich funktioniert :) Cheers Mate pau13z vor 7 Jahren 0
2

Methode 1

Suchen → Ersetzen ...

  • Finden Sie was: \ r \ n
  • Ersetzen durch: \ t
  • Wrap around: überprüft
  • Suchmodus: regulärer Ausdruck

Methode 2

Bearbeiten → Leere Operationen → EOL to Space

0
Toto

Wenn alle 13 Zeilen mit beginnen Date/Time:, können Sie dies tun. Es ersetzt alle Zeilenumbrüche, denen keine Date/TimeTabellierung folgt :

  • Ctrl+H
  • Finde was: \R(?!Date/Time:)
  • Ersetzen mit: \t
  • Deaktivieren Sie die Option "Groß- / Kleinschreibung"
  • Aktivieren Sie die Option Wrap around
  • Überprüfen Sie den regulären Ausdruck
  • Replace all

Erläuterung:

\R : any kind of linebreak (?! : start negative lookahead, make sure we don't have after Date/Time: : literally ) : end lookahead 

Ergebnis für 3 Zeilengruppen:

Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by: Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by: Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by: