Извлечь/удалить весь остальной текст, кроме того, что находится внутри кавычек (" "), и после строки

Извлечь/удалить весь остальной текст, кроме того, что находится внутри кавычек (" "), и после строки

У меня есть очень большой вывод данных в файле .txt, который выглядит следующим образом:

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

Я хочу извлечь значение в кавычках из value3, чтобы результат выглядел следующим образом:

test3
anothertest3
lasttest3

Как бы я это сделал?

решение1

  1. Перейдите в Поиск->Заменить.
  2. НаборНайти то, чток ^value1=".*",value2=".*",value3="(.{10})",value4=".*"$.
  3. НаборЗаменитьк \1.
  4. НаборРежим поискак Regular expression.
  5. НажиматьЗаменить все.

решение2

С режимом поиска=Regular Expression

Поиск: ^.*,value3="([^"]*)".*$
Заменить на:\1

решение3

Решение Сэма мне не помогло.

Для предоставленного вами примера данных сработало следующее регулярное выражение. Оно не имеет никаких предположений о длине, кроме того, что значение не может содержать ", даже если оно экранировано (в зависимости от источника ваших данных, это стоило упомянуть).

Это также не предполагает, что есть value1или value2предшествующий ему. Они могут быть опционально опущены, или опционально могут быть дополнительные или иным образом неупорядоченные значения.

  1. Поиск -> Заменить (или Ctrl+ h)
  2. Установить режим поискаРегулярное выражение
  3. Введите следующее дляНайти то, чтополе

    ^.*value3="([^"]*)".*$
    
  4. НаборЗаменитьк$1

  5. Заменить все

Связанный контент