首頁 >後端開發 >C++ >C# 正規表示式如何解決以逗號作為分隔符號的字串拆分(引號內除外)?

C# 正規表示式如何解決以逗號作為分隔符號的字串拆分(引號內除外)?

DDD
DDD原創
2025-01-07 20:51:41223瀏覽

How Can C# Regex Solve String Splitting with Commas as Delimiters, Except Within Quotes?

使用正規表示式掌握 C# 中具有複雜模式的字串分割

本文解決了一個常見的程式設計挑戰:使用逗號作為分隔符號分割字串,但前提是這些逗號沒有用引號引起來。 在處理這種不規則的資料結構時,標準的字串分割方法是不夠的。

正規表示式解

解決方案在於正規表示式的力量。以下正規表示式模式有效地辨識和隔離引用部分以外的逗號:

<code class="language-csharp">",(?=(?:[^']*'[^']*')*[^']*$)"</code>

此模式巧妙地在剩餘字串中搜尋逗號,後面跟著偶數個單引號。這確保了引用部分中的逗號被忽略。

套用此模式來分割字串非常簡單:

<code class="language-csharp">var result = Regex.Split(inputString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>

result 陣列將準確包含所需的元素:

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

總結

正規表示式為涉及複雜模式的字串操作任務提供了強大且靈活的解決方案。 這種方法提供了精確的控制,甚至可以從最非常規的字串格式中準確地分割和提取元素。 這種技術對於處理具有不規則分隔符號的資料非常有用。

以上是C# 正規表示式如何解決以逗號作為分隔符號的字串拆分(引號內除外)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn