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]
= 123542splitString[2]
= 'XYZ 99,9'이 정규식 접근 방식은 문자열을 정확하게 분할하여 인용된 하위 문자열 내에 쉼표가 나타나는 경우에도 데이터 무결성을 유지합니다.
위 내용은 따옴표 내의 쉼표를 무시하면서 C#에서 쉼표로 구분된 문자열을 어떻게 분할할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!