"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript를 사용하여 큰따옴표 안의 쉼표를 무시하고 문자열을 쉼표로 분할하는 방법은 무엇입니까?

JavaScript를 사용하여 큰따옴표 안의 쉼표를 무시하고 문자열을 쉼표로 분할하는 방법은 무엇입니까?

2024년 12월 26일에 게시됨
검색:325

How to Split a String by Commas, Ignoring Commas Within Double Quotes Using JavaScript?

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