У меня есть очень большой вывод данных в файле .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
- Перейдите в Поиск->Заменить.
- НаборНайти то, чток
^value1=".*",value2=".*",value3="(.{10})",value4=".*"$
. - НаборЗаменитьк
\1
. - НаборРежим поискак
Regular expression
. - НажиматьЗаменить все.
решение2
С режимом поиска=Regular Expression
Поиск: ^.*,value3="([^"]*)".*$
Заменить на:\1
решение3
Решение Сэма мне не помогло.
Для предоставленного вами примера данных сработало следующее регулярное выражение. Оно не имеет никаких предположений о длине, кроме того, что значение не может содержать "
, даже если оно экранировано (в зависимости от источника ваших данных, это стоило упомянуть).
Это также не предполагает, что есть value1
или value2
предшествующий ему. Они могут быть опционально опущены, или опционально могут быть дополнительные или иным образом неупорядоченные значения.
- Поиск -> Заменить (или Ctrl+ h)
- Установить режим поискаРегулярное выражение
Введите следующее дляНайти то, чтополе
^.*value3="([^"]*)".*$
НаборЗаменитьк
$1
- Заменить все