2015-06-01 5 views
0

У меня есть csv с двумя столбцами. Если я импортировать эту CSV в Excel Я в конечном итоге с колонки А и столбце B.уникальный поиск и замена

Колонка A содержит строку текста, например: 1234 (каждая строка имеет уникальное значение)
колонка В содержит строку текста, например: abcd1234

Мне нужно удалить текст из столбца B, который содержится в столбце A. Каждая строка имеет уникальные данные таким образом, пример будет выглядеть так:

1234, abcd1234, 
5678, efgh5678, 
9876, ijkl9876, 

То, что я хочу, чтобы в конечном итоге это:

1234, abcd, 
5678, efgh, 
9876, ijkl, 

Любые идеи, которые я с удовольствием обрабатываю с помощью командной строки.

+0

В ячейке C1: '= SUBSTITUTE (B1, A1," ")'. – Phylogenesis

+1

Почему это происходит во время импорта? Импорт csv в excel - довольно простая вещь. загрузите данные, ТОГДА выполните ваши изменения после его загрузки. –

+0

Исходя из вашего примера, импорт с помощью Text To Columns Фиксированная ширина может быть проще, чем через формулу. – pnuts

ответ

1

В Vim вы можете сделать это через :substitute, захватив первый столбец, и те части второго столбца, которые не соответствуют первому значению (по ссылке \1). Я позволю начать матч во втором столбце (с \zs); это позволяет избежать повторной ссылки на первый столбец в сменной части, которая просто состоит из материала, прежде чем (\2; нет в вашем примере тексте), и после того, как (\3) неоднократная часть из колонны 1.

:%substitute/^\([^,]\+\),\zs\([^,]*\)\1\([^,]*\)/\2\3/ 

[^,] обозначает любые символы внутри столбца, предполагая простой формат CSV.