C# 正規表示式字串分割:引號外的逗號
使用傳統的基於逗號的分割方法處理包含嵌入逗號的字串可能具有挑戰性。本文示範了一種使用 C# 和正規表示式分割包含可能被引號包圍的逗號的字串的解決方案。
問題陳述:
考慮以下表示 SQL 程式碼片段的字串:
<code>('ABCDEFG', 123542, 'XYZ 99,9')</code>
目標是將此字串分割成三個不同的部分:
由於第三個參數 ("XYZ 99,9") 中的逗號不應被視為分隔符,因此出現了挑戰。
正規表示式解:
為了解決這個問題,我們可以使用一個正規表示式,該表達式僅在前面有偶數個單引號時才符合逗號。此模式確保引號內的逗號不會被分割。
<code>",(?=(?:[^']*'[^']*')*[^']*$)"</code>
用法:
<code class="language-csharp">var result = Regex.Split(sampleString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
解釋:
輸出:
result 陣列的輸出如下:
<code>{"'ABCDEFG'", "123542", "'XYZ 99,9'"}</code>
這示範了根據引號外的逗號成功分割字串,同時保持引號參數不變。
以上是C# 正規表示式如何使用引號內的逗號分割字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!