Gmail 첨부 파일의 CSV 파일에서 콘텐츠를 가져 오는 google apps 스크립트를 작성하고 있습니다. csv 데이터를 여러 배열로 분할해야합니다 (각 행은 자체 배열입니다). 나는 모든 것을 가지고있다.regex replace replace (google apps script)
내 문제는 : 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
사람이 내가 왜 작동하지 않습니다에로 보이지 않아요 무엇을 볼 수 : 여기에서이 작업을 실행하고있어 (매우 긴) 데이터 문자열의 무작위 표본이다? 바꾸기로 새 문자열을 반환로 문자열을 변경하지 않습니다
:: 마른 세수 물론 그 문자열을 대체하지 않습니다. 나는이 스크립트에서 너무 많은 배열로 작업을 해왔다. 고마워. 내가 대표를 만났 더라면 나는 상상했다. 편집 : "ReferenceError :"$ 2 "이 정의되지 않았습니다." 이걸 스크립트에 연결하면됩니다. – mulliweht
@mulliweht 따옴표로'$ 2'를 싸야합니다. ( – nu11p01n73R
은 감사합니다. – mulliweht