使用C#分割引號外逗號分隔的字串
對於包含引號外嵌入逗號的參數字串,可以使用正規表示式方法精確地分割它們。
問題:
將字串 "('ABCDEFG', 123542, 'XYZ 99,9')" 分割成各個組成部分,其中最後一個參數在引號內包含逗號。
解:
使用正規表示式辨識引號對外的逗號,可以實現所需的分割:
<code class="language-c#">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
此正規表示式模式會符合任何不在奇數個引號之前或之後出現的逗號。
實作:
以下程式碼使用正規表示式分割範例字串:
<code class="language-c#">string samplestring = "('ABCDEFG', 123542, 'XYZ 99,9')"; string[] result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
輸出:
結果陣列將包含各個組成部分:
<code>['ABCDEFG', '123542', 'XYZ 99,9']</code>
以上是如何在 C# 中以引號內的內嵌逗號分割逗號分隔的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!