>백엔드 개발 >C++ >따옴표 내의 쉼표를 무시하면서 C#에서 쉼표로 구분된 문자열을 어떻게 분할할 수 있습니까?

따옴표 내의 쉼표를 무시하면서 C#에서 쉼표로 구분된 문자열을 어떻게 분할할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-07 21:29:41922검색

How Can I Split a Comma-Separated String in C# While Ignoring Commas Within Quotes?

C# 정규식 분할: 인용 문자열의 쉼표 처리

인용된 텍스트 내의 쉼표를 처리할 때 표준 C# 쉼표 기반 문자열 분할이 실패합니다. 정규 표현식은 강력한 솔루션을 제공합니다.

문자열 "('ABCDEFG', 123542, 'XYZ 99,9')"를 세 개의 구성 부분인 'ABCDEFG', 123542 및 'XYZ 99,9'로 분할하는 것을 고려해 보세요.

다음 정규식은 쉼표 외부 인용 섹션을 식별합니다.

<code class="language-csharp">",(?=(?:[^']*'[^']*')*[^']*$)"</code>

이 식을 사용하면 앞에 짝수 개의 작은따옴표(닫힌 따옴표 섹션을 나타냄)가 오지 않는 쉼표만 분할점으로 사용됩니다.

Regex.Split과 함께 사용하는 방법은 다음과 같습니다.

<code class="language-csharp">string inputString = "('ABCDEFG', 123542, 'XYZ 99,9')";
string[] splitString = Regex.Split(inputString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>

splitString 배열에는 다음이 포함됩니다.

  • splitString[0] = 'ABCDEFG'
  • splitString[1] = 123542
  • splitString[2] = 'XYZ 99,9'

이 정규식 접근 방식은 문자열을 정확하게 분할하여 인용된 하위 문자열 내에 쉼표가 나타나는 경우에도 데이터 무결성을 유지합니다.

위 내용은 따옴표 내의 쉼표를 무시하면서 C#에서 쉼표로 구분된 문자열을 어떻게 분할할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.