C# 字符串到数组?

C# 字符串到数组?,c#,C#,我有一个字符串“ab”“c”“d ef”,我想把它转换成string[]args,还有一个数组{“ab”,“c”,“d ef”}。如何解析它?您可以使用String.Split: string[] args = str.Split(new[]{"\" \""},StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Trim('"')).ToArray(); 或者更有效: args = str.Trim('"').Split(n

我有一个字符串
“ab”“c”“d ef”
,我想把它转换成
string[]args
,还有一个数组
{“ab”,“c”,“d ef”}
。如何解析它?

您可以使用
String.Split

string[] args = str.Split(new[]{"\" \""},StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Trim('"')).ToArray();
或者更有效:

args = str.Trim('"').Split(new[]{"\" \""},StringSplitOptions.RemoveEmptyEntries);
这应该做到:

var originalString = "\"a b\" \"c\" \"d ef\"";
var args = originalString.Split('"').Where(s => !string.IsNullOrWhiteSpace(s)).ToArray();

如果它始终由
”(因此
”)分隔,您可以在此基础上拆分它(也可以使用regexp),然后处理开始和结束
。如果您想拥有
“b”cd,这可能会变成问题“
。您是说您的字符串中嵌入了引号,还是您的示例中有三个单独的字符串?