우리는 CSV 파일을 가지고 있습니다. 특정 열에는 많은 항목이 있었으며 그 항목은 개행 문자 "\n"
으로 분리되어야했습니다. 이는 발생하지 않았습니다. 영향을받은 열의 샘플 데이터는 다음과 같습니다.루비 정규 표현식으로 문자열 분할
30 units - R135 50 units - R225 80 units - R360
세 개의 열로 나누는 방법이 있습니까? 열 수는 고정되어 있지 않습니다. 우리가 split
항목에 많은 공백 문자 (두 개 이상)를 사용해야 할 것입니다. 필요 :
data = "that long string"
# Some operation
result = ["30 units - R135", "50 units - R225", "80 units - R360"]
나는 이런 식으로 시도했다. 그러나 그것은 효과가 없었습니다. 결과는 동일한 문자열입니다.
a.split('/(\s){3,}/')
데이터를 분할하기 위해 어떤 방법을 사용할 수 있습니까?
그것은 나를 위해 작동해야합니다. 내 생각 엔 루비가 정규 표현식을 리터럴 문자열로 해석하고 있다는 것입니다. 대신 a.split (/ (\ s) {3,} /)을 시도하십시오. – Jeremy
'그 긴 문자열'에서 그 결과를 얻을 수 없다. 실제 입력 및 출력을 보여주십시오. 사람들은 귀하의 데이터가 어떻게 생겼는지 추측하지 않습니다. –
물론 그것은 개행 문자가 없었습니다. 이것은 일반적으로 csv의 레코드 문자의 끝입니다. 데이터에 있다면 먼저 이스케이프 처리해야합니다. – DGM