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
- Vaya a Buscar->Reemplazar.
- ColocarEncontrar quea
^value1=".*",value2=".*",value3="(.{10})",value4=".*"$
. - ColocarReemplazar cona
\1
. - ColocarModo de búsquedaa
Regular expression
. - 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 value1
o value2
precediéndolo. Opcionalmente, se pueden omitir o, opcionalmente, puede haber valores adicionales o desordenados.
- Buscar -> Reemplazar (o Ctrl+ h)
- Establecer el modo de búsqueda enExpresión regular
Introduzca lo siguiente para elEncontrar quecampo
^.*value3="([^"]*)".*$
ColocarReemplazar cona
$1
- Reemplaza todo