3

У меня очень большой вывод данных в файл .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

Как бы я поступил так?

3 ответа3

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

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

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

1

Решение Сэма не сработало для меня.

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

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

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

    ^.*value3="([^"]*)".*$
    
  4. Установить Заменить на $1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .