Я пишу скрипт приложений Google, который извлекает содержимое из файла CSV в приложении gmail. Мне нужно разбить данные csv на несколько массивов (каждая строка будет собственным массивом). У меня все получилось.regex заменить не заменяя (скрипт Google Apps)
Моя проблема заключается в следующем: одним из значений в CSV является формат «Город, Санкт». Поэтому, когда я разбиваю массив, используя string.split (','), я получаю дополнительный «столбец». Моя идея исправить это - это резервное копирование и уничтожение этой запятой в исходной строке. Вот соответствующая часть моего кода:
var attachments = msgs[i][j].getAttachments();
for (var k = 0; k < attachments.length; k++) {
var attachmentData = attachments[k].getDataAsString();
var regex = new RegExp('\,\s(?:[A-Z]{2}\")', 'gi');
attachmentData.replace(regex,' ');
...
Так что я пытаюсь сделать, это просто найти запятую, за которым следует пробел, а затем ровно две буквы, то кавычки. Я хочу просто заменить запятую пробелом. Я также пробовал
var regex = new RegExp('(\,\s)([A-Z]{2}\")', 'gi');
attachmentData.replace(regex,$2);
не повезло. Вот случайная выборка (очень долго) строки данных Я бегу это на:
Voice,Incoming,(###) ###-####,(###) ###-####,,,,"Dallas, TX",12/12/2014,06:26 PM,Phone Call,Voicemail,00:00:27,$0.000,-,, ,Incoming,(###) ###-####,,###,,,"Dallas, TX",12/12/2014,06:26 PM,Phone Call,Voicemail,00:00
Может кто-нибудь увидеть, что я не вижу, почему это не работает? (Или есть какие-либо идеи лучшего способа сделать это?)
:: Facepalm :: Конечно, это не заменяет строку. Думаю, я слишком много работал в массивах. Спасибо за это. Я бы поднял голову, если бы у меня был представитель. EDIT: «Я получаю ReferenceError:« $ 2 »не определен». когда я вставляю это в скрипт. – mulliweht
@mulliweht вы должны обернуть '$ 2' в кавычки, извините за опечатку :( – nu11p01n73R
работал с '' s. Спасибо за связку. – mulliweht