2010-12-10 1 views
0

루비에서는 따옴표 안에 쉼표를 나타내는 일반 표현식 (예 : "dog, cat, foo, bar")은 무엇입니까? 내 목적은 CSV 파일을 TSV로 변환하는 것입니다. 일부 필드는 따옴표 안에 쉼표가있는 문자열을 포함하고 있습니다.CSV를 TSV로 변환 한 RegEx

+0

CSV 파일은 필드 안에 포함 된 쉼표가있을 수 있으므로 실제 정규 표현을 재생할 수 있습니다. @Doon이 파서를 사용하는 것이 더 낫다고 제안했기 때문에. –

답변

3

정규식이어야합니까? fav CSV 라이브러리를 사용하여 CSV를 구문 분석 한 다음 탭을 사용하여 다시 가입 할 수 있습니까?

require 'csv' 

test = '"foo,bar,baz",one,two,three' 
CSV.parse_line(test).join("\t") 

    "foo,bar,baz\tone\ttwo\tthree" 
+0

감사합니다. Doon! 예상대로 작동하는 FasterCSV :: parse_line을 사용하여 종료되었습니다. – mbm

+0

탭을 포함하지 않는 파일 변환 : CSV.read ("temp.csv"). map {| row | row.join ("\ t")} .join ("\ n")'. – user495470