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

Barbara Streisand
풀어 주다: 2024-10-26 19:04:02
원래의
227명이 탐색했습니다.

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

JavaScript를 사용하여 큰따옴표 안의 쉼표를 무시하고 쉼표로 문자열 분할

double을 유지하면서 문자열을 쉼표로 분할하는 문제를 해결하려면 -따옴표가 붙은 세그먼트를 사용하면 JavaScript에서 정규식을 활용할 수 있습니다. 방법은 다음과 같습니다.

<code class="javascript">var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(&quot;.*?&quot;|[^&quot;,\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 < arr.length; i++) {
  console.log('arr[' + i + '] =', arr[i]);
}</code>
로그인 후 복사

이 정규식은 두 개의 캡처 그룹을 사용하여 관심 있는 하위 문자열을 일치시킵니다.

  • 그룹 1: 큰따옴표로 묶인 세그먼트(" d, e, f")를 사용하여 큰따옴표 안의 모든 내용을 캡처합니다.
  • 그룹 2: 다른 문자 시퀀스와 일치합니다(예: "a", "g")는 큰따옴표, 쉼표 또는 공백 문자([^",s] )를 포함하지 않습니다.

예측 어설션(?=s*,|s*$)은 다음을 보장합니다. 일치 항목 뒤에는 공백과 쉼표 또는 문자열 끝이 옵니다. 이렇게 하면 쉼표로 구분된 세그먼트만 캡처할 수 있습니다.

따옴표가 있는 세그먼트와 따옴표가 없는 세그먼트를 모두 일치시킴으로써 이 솔루션은 주어진 문자열을 6개 요소의 배열(["a", "b", "c))로 정확하게 분할합니다. ", "d, e, f", "g", "h"].

위 내용은 JavaScript를 사용하여 큰따옴표 안의 쉼표를 무시하고 문자열을 쉼표로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿