쉼표로 구분된 텍스트를 따옴표로 분할
텍스트 데이터에 쉼표로 구분된 값이 포함된 특정 시나리오에서는 데이터를 분할해야 합니다. 쉼표를 기준으로 합니다. 그러나 데이터에 따옴표 안에 쉼표가 포함된 문자열이 포함되어 있으면 문제가 발생합니다.
이 문제를 해결하기 위한 다용도 솔루션은 특히 큰따옴표 외부에 있는 쉼표를 대상으로 하는 정규식을 사용하는 것입니다.
str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
이 정규식 분석:
또는 동일한 정규식은 (?x) 수정자를 사용하여 더 읽기 쉬운 형식으로 작성할 수 있습니다. 이를 통해 여러 줄 표현식을 향상할 수 있습니다. 가독성:
String[] arr = str.split("(?x) " + ", " + // Split on comma "(?= " + // Followed by " (?: " + // Start a non-capture group " [^\"]* " + // 0 or more non-quote characters " \" " + // 1 quote " [^\"]* " + // 0 or more non-quote characters " \" " + // 1 quote " )* " + // 0 or more repetition of non-capture group (multiple of 2 quotes will be even) " [^\"]* " + // Finally 0 or more non-quotes " $ " + // Till the end (This is necessary, else every comma will satisfy the condition) ") " // End look-ahead );
이 솔루션은 큰따옴표로 묶인 쉼표가 포함된 문자열의 무결성을 유지하면서 쉼표로 구분된 텍스트를 분할하는 문제를 효과적으로 해결합니다.
위 내용은 정규 표현식을 사용하여 쉼표로 구분된 텍스트를 따옴표로 나누는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!