programing tip

CSV에서 큰 따옴표를 올바르게 이스케이프 처리

itbloger 2020. 6. 26. 18:54
반응형

CSV에서 큰 따옴표를 올바르게 이스케이프 처리


CSV에 다음과 같은 줄이 있습니다.

"Samsung U600 24"","10000003409","1","10000003427"

옆에 24있는 인용 부호는 인치를 표시하는 데 사용되며 해당 인용 부호 바로 옆의 인용 부호는 필드를 닫습니다. 나는 줄을 읽고 fgetcsv있지만 파서는 실수를하고 값을 다음과 같이 읽습니다.

Samsung U600 24",10000003409"

인치 따옴표 앞에 백 슬래시를 넣으려고했지만 이름에 백 슬래시가 나타납니다.

Samsung U600 24\"

CSV에서 올바르게 이스케이프 처리하는 방법이 있습니까? 값이 Samsung U600 24"이거나 프로세서에서 정규 표현식을 사용해야 합니까?


2 인용 부호를 사용하십시오 :

"Samsung U600 24"""

큰 따옴표뿐만 아니라 작은 따옴표 ( '), 큰 따옴표 ( "), 백 슬래시 ( \) 및 NUL (NULL 바이트)이 필요합니다.

모든 것을 다룰 수 있도록 읽고 fputcsv()쓰는 데 사용하십시오 fgetcsv().


값에 쉼표, 개행 문자 또는 큰 따옴표가 포함 된 경우 문자열은 큰 따옴표로 묶어야합니다. 예 : "이 필드의 개행 문자 \ n".

아래 온라인 도구를 사용하여 ""및, 연산자를 이스케이프 할 수 있습니다. https://www.freeformatter.com/csv-escape.html#ad-output

참고 URL : https://stackoverflow.com/questions/17808511/properly-escape-a-double-quote-in-csv

반응형