0

文字列をコンマで分割する必要がありますが、特定の場合は無視します。

たとえば、この文字列(各コンマの後にスペース文字があります):

私の言葉1、私の言葉2、私の言葉3、「私の言葉x、私の言葉y、私の言葉z」、私の言葉4、私の言葉5

次のように分割する必要があります。

私の言葉1

私の言葉2

私の言葉3

「私の言葉x、私の言葉y、私の言葉z」

私の言葉4

私の言葉5

基本的に、すべての単語はコンマの後に分割する必要があります。ただし、二重引用符で囲まれている単語は、引用符と同じように表示する必要があります。

4

1 に答える 1

2
string text = @"my word 1, my word 2, ""my word x, my word y"", my word 3";
string pattern = @"[^,""]+|""([^""]*)""";
IEnumerable<string> result = Regex.Matches(text, pattern).Cast<Match>()
                                  .Select(m => m.Value.Trim())
                                  .Where(s => !String.IsNullOrWhiteSpace(s));

結果:

my word 1     
my word 2    
"my word x, my word y"    
my word 3
于 2013-01-12T18:56:21.660 に答える