Extrahieren/löschen Sie allen anderen Text außer dem in Anführungszeichen (" ") und nach der Zeichenfolge

Extrahieren/löschen Sie allen anderen Text außer dem in Anführungszeichen (" ") und nach der Zeichenfolge

Ich habe eine sehr große Datenausgabe in einer TXT-Datei, die folgendermaßen aussieht:

value1="1",value2="2",value3="test3",value4="4"
value1="1",value2="2",value3="anothertest3",value4="4"
value1="1",value2="2",value3="lasttest3",value4="4"

Ich möchte den Wert innerhalb der Anführungszeichen in value3 extrahieren, sodass das Ergebnis folgendermaßen aussieht:

test3
anothertest3
lasttest3

Wie würde ich dabei vorgehen?

Antwort1

  1. Gehen Sie zu Suchen->Ersetzen.
  2. SatzFinde wasZu ^value1=".*",value2=".*",value3="(.{10})",value4=".*"$.
  3. SatzErsetzen mitZu \1.
  4. SatzSuchmodusZu Regular expression.
  5. Drücken SieAlles ersetzen.

Antwort2

Mit Suchmodus=Regular Expression

Suche nach: ^.*,value3="([^"]*)".*$
Ersetzen durch:\1

Antwort3

Sams Lösung hat bei mir nicht funktioniert.

Für die von Ihnen angegebenen Beispieldaten hat der folgende reguläre Ausdruck funktioniert. Er enthält keine Annahmen bezüglich der Länge, außer dass der Wert kein enthalten kann ", selbst wenn es maskiert ist (je nach Quelle Ihrer Daten war dies erwähnenswert).

Dies setzt auch nicht voraus, dass ein value1oder value2vorangestellt ist. Sie können optional weggelassen werden, oder es können optional zusätzliche oder anderweitig ungeordnete Werte vorhanden sein.

  1. Suchen -> Ersetzen (oder Ctrl+ h)
  2. Stellen Sie den Suchmodus aufRegulären Ausdruck
  3. Geben Sie Folgendes ein für denFinde wasFeld

    ^.*value3="([^"]*)".*$
    
  4. SatzErsetzen mitZu$1

  5. Alles ersetzen

verwandte Informationen