따옴표를 제외한 쉼표로 구분된 텍스트 분할
따옴표가 포함된 쉼표로 구분된 텍스트를 처리할 때 인용된 텍스트 내의 쉼표를 무시해야 합니다. 섹션. 이 문제는 Python에서 기본 string.split(",") 메서드를 사용할 때 발생합니다.
다음 문자열을 고려하세요.
"123,test,444,\"don't split, this\",more test,1"
기본 메서드를 사용하여 이 문자열을 분할하면 다음이 생성됩니다. 결과:
["123", "test", "444", "\"don't split", " this\"", "more test", "1"]
보시다시피 인용된 부분 안의 쉼표는 무시되지 않습니다. 이를 해결하려면 정규식이 필요합니다.
str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)")
정규식 설명:
이 정규식은 인용된 섹션 밖의 쉼표만 구분 기호로 인식되도록 합니다.
또는 Python에서 (?x) 수정자를 사용하면 가독성을 높이기 위해 정규식을 여러 줄로 나눌 수 있습니다.
str.split("(?x)\n\ , \n\ (?=\n\ (?: \n\ [^\"]* \n\ \" \n\ [^\"]* \n\ \" \n\ )* \n\ [^\"]* \n\ $ \n\ ) \n")
이 코드는 입력 문자열을 각 요소가 인용된 섹션 외부에서 쉼표로 구분된 하위 문자열을 나타내는 목록으로 효과적으로 분할합니다.
위 내용은 따옴표 내의 쉼표를 무시하면서 쉼표로 구분된 텍스트를 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!