JavaScript를 사용하여 큰따옴표 안의 쉼표를 무시하고 쉼표로 문자열 분할
double을 유지하면서 문자열을 쉼표로 분할하는 문제를 해결하려면 -따옴표가 있는 세그먼트를 사용하면 JavaScript에서 정규식을 활용할 수 있습니다. 방법은 다음과 같습니다.
var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(".*?"|[^",\s] )(?=\s*,|\s*$)/g);
// Handle the case of no matches to prevent errors
arr = arr || [];
// Iterate over the matches and display them
for (var i = 0; i 이 정규식은 두 개의 캡처 그룹을 사용하여 관심 하위 문자열을 일치시킵니다.
- 그룹 1: 큰따옴표로 묶인 세그먼트("d, e, f)와 일치합니다. ") 탐욕 연산자(.*?)를 사용하여 큰따옴표 안의 모든 내용을 캡처합니다.
- 그룹 2: 모든 항목과 일치합니다. 큰따옴표, 쉼표 또는 공백 문자([^",\s])를 포함하지 않는 다른 문자 시퀀스(예: "a", "g").
lookahead 어설션( ?=\s*,|\s*$)는 일치 항목 뒤에 공백과 쉼표 또는 문자열 끝이 오는지 확인합니다. 이렇게 하면 쉼표로 구분된 세그먼트만 캡처할 수 있습니다.
따옴표가 있는 세그먼트와 따옴표가 없는 세그먼트를 모두 일치시킴으로써 이 솔루션은 주어진 문자열을 6개 요소의 배열(["a", "b", "c))로 정확하게 분할합니다. ", "d, e, f", "g", "h"].
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3