Как продублировать результаты поиска регулярных выражений в одной строке? - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть таблица csv по схеме:

    "text1","text2",3
    "text5","text?",5
    "baa","foo",99
    ...

, которую мне нужно преобразовать в:

    "text1","text2","-text2-",3
    "text5","text?","-text?-",5
    "baa","foo","-foo-",99
    ...

Извините, но я понятия не имею, как продублироватьчасть строки с использованием регулярного выражения.Я использую VS Code найти-заменить движок.Как я мог это сделать?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

"text1", "text2", 3

"text5", "text?", 5

Найдите подходящее слово group1, group2, group3.Подходим A-Za-z0-9 и "?"персонажи.Я не уверен, как долго последний номер данных, которые я установил номер 1 ~ 3 цифровых номеров.Вы можете легче приспособиться к своему состоянию.

("[\w?]+"),"([\w?]+)",(\d{1,3})

Замените на регулярное выражение следующим образом

$1,"$2","-$2-",$3

Результаты должны быть следующими

"text1", "text2", "- text2 -", 3

"text5", "text?", "- text? -", 5

Не берите в голову вопросы ко мне.

0 голосов
/ 14 февраля 2019

См. regex101 demo .

Найти: ^(\s*"[^"]*?","([^"]*?)",)

Заменить: $1"-$2-",

Группа 1: первые два значения в каждомстрока, например "text1","text2",

Группа 2: только внутреннее второе значение, например text2

Заменить: использовать группу 1, а затем скопировать группу 2 с окружающими "-Group2-"

Убедитесь, что у вас есть это в вашем settings.json:

"search.usePCRE2": true,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...