2017-01-16 10 views
2

スペースで区切られたプロパティ/値のペアで構成されているように、このような文字列があります。例えば:GRID "GLOBAL"またはCOORD 0引用符を含む単語の文字列を解析する方法

GRID "GLOBAL" LABEL "A" DIR "X" COORD 0 GRIDTYPE " " 

TEXT値は、引用符の内側にあるが、数値のものではありません。

[GRID ,"GLOBAL", LABEL, "A", DIR, "X", COORD, 0, GRIDTYPE, " "] 

以下のソリューションが動作しない、「」の間のスペースは後の値でもありますので、このような文字列の配列に分割するための最良かつ最速の方法は何

GRIDTYPE

var tokens = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); 

答えて

2

これは、正規表現のために良い場所のようになります。

string[] split = Regex.Matches(inputString, "(\\w+|\".*?\")") 
         .Cast<Match>() 
         .Select(m => m.Value) 
         .ToArray(); 

See it on Regex101.

関連する問題