首頁 > 後端開發 > C++ > 如何在 C# 中使用正規表示式分割字串來處理引號內的逗號?

如何在 C# 中使用正規表示式分割字串來處理引號內的逗號?

Mary-Kate Olsen
發布: 2025-01-07 22:11:41
原創
611 人瀏覽過

"How

C#中使用正規表示式分割字串:處理引號內的逗號

在資料解析或SQL字串運算等各種場景中,遇到包含逗號的字串可能需要使用正規表示式進行分割。但是,當逗號出現在引號內和引號外時,就會帶來挑戰。

讓我們考慮以下字串:

<code>('ABCDEFG', 123542, 'XYZ 99,9')</code>
登入後複製

我們的目標是使用正規表示式將此字串分割成其組成部分,以便獲得以下輸出:

  • 'ABCDEFG'
  • 123542
  • 'XYZ 99,9'

關鍵在於辨識引號外的逗號。為此,我們可以使用強大的正規表示式模式:

<code>",(?=(?:[^']*'[^']*')*[^']*$)"</code>
登入後複製

讓我們分解這個模式:

  • ": 符合一個字面上的逗號。

  • (?=(?:[^']*'[^']*')*[^']*$): 這是一個先行斷言,它檢查逗號後面是否跟有偶數個引號。

    • (?:[^']*'[^']*')*: 符合任意數量的對單引號,其中包含在它們之間的內容。
    • [^']*$: 符合最後一個引號後的任何字符,但不包括引號。

透過使用此模式,我們可以匹配所有後面有偶數個引號的逗號,從而有效地確保我們只分割引號外部的字串。

要將此正規表示式用於分割,我們將使用以下C#程式碼:

<code class="language-csharp">var result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
登入後複製

執行此程式碼後,result 將包含一個字串數組,每個字串代表原始字串的一個組成部分,根據所需條件進行分割。

以上是如何在 C# 中使用正規表示式分割字串來處理引號內的逗號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板