2015-03-03 2 views
0

У меня есть файл CSV, который имеет два столбца и 4500 строк. В одной колонке у меня есть несколько фраз, которые окружены кавычками. Мне нужно удалить весь текст, который предшествует и после кавычек.Удалить все символы до и после кавычек

Например:

How would you say "Hello, my Friend" when speaking outside? 
should become "Hello, my Friend" 

У меня также есть несколько строк, которые имеют слово NULL во втором столбце. Мне нужно, чтобы эти строки были удалены полностью.

Каков наилучший способ сделать что-то подобное? Я смотрю на регулярные выражения, но я не уверен, что они достаточно гибкие, чтобы делать то, что я хочу сделать, или как вы будете использовать их в CSV-файле (мне нужно, чтобы структура таблицы оставалась).

EDIT: 1) На данный момент я просто использую номера Apple, но я знаю, что этого не сделают, поэтому я рад любым предложениям. Он должен поддерживать персонажей кандзи.

2) Я удалил все строки NULL, так что больше не нужно (я просто добавил столбец чисел, отсортировал таблицу так, чтобы все NULL были вместе, удалены и отсортированы обратно столбцом чисел).

+0

Это простой синтаксический анализ строк для большинства языков. Какие инструменты вы собираетесь использовать? Вы можете найти Excel удобным. – shawnt00

+0

@ shawnt00. На данный момент я просто использую Apple Numbers, но я знаю, что этого не сделают, поэтому я рад любым предложениям. Он должен поддерживать персонажей кандзи. –

ответ

1

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

Что-то вроде этого будет соответствовать ,NULL во второй колонке: ^.*,NULL.*$. Замените его «DELETEMEDELETEME», чтобы пометить линию, или как пустую строку, или найти способ сопоставить ее на `\ n 'или' \ r ', чтобы поймать разрыв строки и полностью удалить всю строку.

Зачистка из частей строки в кавычках может работать следующим образом:

^(.*,){n}(.*)(\".\")(.*)(,.*)$ заменен \1\3\5 где п число столбцов, предшествовавших, который вы хотите изменить. Повторите (.*,), если это невозможно. Это будет зависеть от регулярного выражения вашего инструмента.

+0

Дополнительная информация для тех, кто пытается это сделать: Я использовал Sublime Texteditor для применения регулярного выражения (нажмите CMD + OPT + F, чтобы открыть «Панель поиска», затем выберите первый значок «Регулярные выражения»). Удаление меток кавычек было сложным, поэтому я нашел и заменил, чтобы заменить их символами §. Затем я применил следующие команды Regex '^ [^ §] * §' &' \ §. * $ '. Первый удаляет весь текст перед символом. Второй удаляет весь текст после символа. Если строка не содержит символа, она будет полностью удалена. Затем я сделал поиск и заменил, чтобы вернуть символы § обратно в кавычки. –

Смежные вопросы