小编Tea*_*hme的帖子

拆分具有空格的字符串,除非它们包含在"引号"中?

简单来说:

string streamR = sr.ReadLine();  // sr.Readline results in:
                                 //                         one "two two"
Run Code Online (Sandbox Code Playgroud)

我希望能够将它们保存为两个不同的字符串,删除所有空格除了引号之间的空格.因此,我需要的是:

string 1 = one
string 2 = two two
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现有效的是以下代码,但它删除了引号内的空格.

//streamR.ReadLine only has two strings
  string[] splitter = streamR.Split(' ');
    str1 = splitter[0];
    // Only set str2 if the length is >1
    str2 = splitter.Length > 1 ? splitter[1] : string.Empty;
Run Code Online (Sandbox Code Playgroud)

这个的输出变成了

one
two
Run Code Online (Sandbox Code Playgroud)

我已经研究过正则表达式来分隔空格,除非引用但是我似乎无法获得正则表达式来工作/理解代码,特别是如何分割它们以便它们是两个不同的字符串.那里的所有代码都给我一个编译错误(我正在使用System.Text.RegularExpressions)

c# split

46
推荐指数
4
解决办法
3万
查看次数

标签 统计

c# ×1

split ×1