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中文網其他相關文章!