Arhn - архитектура программирования

vim поиск и замена между номерами

У меня есть шаблон, в котором между числами в файле CSV есть двойные кавычки. Я могу искать шаблон по [0-9]\"[0-9], но как сохранить значение при удалении двойной кавычки. Формат CSV выглядит следующим образом:

"1234"5678","Text1","Text2"
"987654321","Text3","text4"
"7812891"3","Text5","Text6"

Как вы могли заметить, между некоторыми числами есть двойные кавычки, которые я хочу удалить.

Я пробовал следующий способ, который неверен:

:%s/[0-9]\"[0-9]/[0-9][0-9]/g

Можно ли выполнить команду для каждого шаблона поиска, может быть, перейти на один символ вперед и удалить его. Как можно "lx" встроить в поиск и замену.

vim
26.07.2013

Ответы:


1

Вам нужно захватить группы. Пытаться:

:%s/\(\d\)"\(\d\)/\1\2/g

[Цифра также может быть обозначена как \d.]

26.07.2013

2

Я знаю, что на этот вопрос уже был дан ответ, но вот еще один подход:

:%s/\d\zs"\ze\d

Объяснение:

%s   Заменить весь буфер
\d   найти цифру
\zs здесь установить начало совпадения
"     найти двойную кавычку
\ze найти здесь конец совпадения
\d искать цифру

Это заставляет команду замены соответствовать только двойной кавычке, окруженной цифрами.
Отсутствие строки замены просто удаляет совпадение.

29.07.2013

3

Вам нужны границы для использования в регулярном выражении.

Попробуй это:

:%s/\([0-9]\)"\([0-9]\)/\1\2/g
26.07.2013

4

Немного наивное решение:

%s/^"/BEGINNING OF LINE QUOTE MARK/g
%s/\",\"/quote comma quote/g
%s/\"$/quota end of line/g
%s/\"//g
%s/quota end of line/"/g
%s/quote comma quote/","/g
%s/BEGINNING OF LINE QUOTE MARK/"/g

Из него можно довольно легко создать макрос и вызывать его столько раз, сколько необходимо.

26.07.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..