Extraia/exclua todos os outros textos que não estejam entre aspas ("") e depois da string

Extraia/exclua todos os outros textos que não estejam entre aspas ("") e depois da string

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

  1. Vá para Pesquisar-> Substituir.
  2. DefinirEncontre o quepara ^value1=".*",value2=".*",value3="(.{10})",value4=".*"$.
  3. DefinirSubstituir compara \1.
  4. DefinirModo de pesquisapara Regular expression.
  5. 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 value1ou value2o preceda. Eles podem ser opcionalmente omitidos ou, opcionalmente, podem haver valores adicionais ou não ordenados.

  1. Pesquisar -> Substituir (ou Ctrl+ h)
  2. Defina o modo de pesquisa paraExpressão regular
  3. Digite o seguinte para oEncontre o quecampo

    ^.*value3="([^"]*)".*$
    
  4. DefinirSubstituir compara$1

  5. Substitua tudo

informação relacionada