ホームページ > バックエンド開発 > C++ > C# 正規表現では、引用符内を除き、区切り文字としてカンマを使用した文字列分割をどのように解決できますか?

C# 正規表現では、引用符内を除き、区切り文字としてカンマを使用した文字列分割をどのように解決できますか?

DDD
リリース: 2025-01-07 20:51:41
オリジナル
185 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート