Extraiga/elimine todo el texto que no esté entre comillas (" ") y después de la cadena

Extraiga/elimine todo el texto que no esté entre comillas (" ") y después de la cadena

Tengo una salida de datos muy grande en un archivo .txt que se ve así:

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

Quiero extraer el valor entre comillas en valor3, haciendo que el resultado se vea así:

test3
anothertest3
lasttest3

¿Cómo haría para hacer eso?

Respuesta1

  1. Vaya a Buscar->Reemplazar.
  2. ColocarEncontrar quea ^value1=".*",value2=".*",value3="(.{10})",value4=".*"$.
  3. ColocarReemplazar cona \1.
  4. ColocarModo de búsquedaa Regular expression.
  5. PrensaReemplaza todo.

Respuesta2

Con modo de búsqueda =Regular Expression

Buscar: ^.*,value3="([^"]*)".*$
Reemplazar con:\1

Respuesta3

La solución de Sam no funcionó para mí.

Para los datos de ejemplo que proporcionó, la siguiente expresión regular funcionó. No tiene ninguna suposición sobre la longitud, aparte de que el valor no puede contener un ", incluso si se ha escapado (dependiendo de la fuente de sus datos, vale la pena mencionarlo).

Esto tampoco supone que haya un value1o value2precediéndolo. Opcionalmente, se pueden omitir o, opcionalmente, puede haber valores adicionales o desordenados.

  1. Buscar -> Reemplazar (o Ctrl+ h)
  2. Establecer el modo de búsqueda enExpresión regular
  3. Introduzca lo siguiente para elEncontrar quecampo

    ^.*value3="([^"]*)".*$
    
  4. ColocarReemplazar cona$1

  5. Reemplaza todo

información relacionada