Tenho uma saída de big data em um arquivo .txt parecido com este:
value1="1",value2="2",value3="test3",value4="4"
value1="1",value2="2",value3="anothertest3",value4="4"
value1="1",value2="2",value3="lasttest3",value4="4"
Quero extrair o valor entre aspas em valor3, fazendo com que o resultado fique assim:
test3
anothertest3
lasttest3
Como eu faria isso?
Responder1
- Vá para Pesquisar-> Substituir.
- DefinirEncontre o quepara
^value1=".*",value2=".*",value3="(.{10})",value4=".*"$
. - DefinirSubstituir compara
\1
. - DefinirModo de pesquisapara
Regular expression
. - ImprensaSubstitua tudo.
Responder2
Com modo de pesquisa =Regular Expression
Procurar por: ^.*,value3="([^"]*)".*$
Substitua por:\1
Responder3
A solução de Sam não funcionou para mim.
Para os dados de exemplo que você forneceu, o seguinte regex funcionou. Ele não tem nenhuma suposição de comprimento, exceto que o valor não pode conter a "
, mesmo que tenha escape (dependendo da fonte dos seus dados, vale a pena mencionar isso).
Isso também não pressupõe que exista um value1
ou value2
o preceda. Eles podem ser opcionalmente omitidos ou, opcionalmente, podem haver valores adicionais ou não ordenados.
- Pesquisar -> Substituir (ou Ctrl+ h)
- Defina o modo de pesquisa paraExpressão regular
Digite o seguinte para oEncontre o quecampo
^.*value3="([^"]*)".*$
DefinirSubstituir compara
$1
- Substitua tudo