Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将转义字符串转换为字符串数组_C#_String_Type Conversion - Fatal编程技术网

C# 将转义字符串转换为字符串数组

C# 将转义字符串转换为字符串数组,c#,string,type-conversion,C#,String,Type Conversion,我有这种绳子 string input="[\"Modell\",\"Jan.\",\"Feb.\",\"Mrz.\",\"Apr.\",\"Mai\",\"Jun.\",\"Jul.\",\"Aug.\",\"Sep.\",\"Okt.\",\"Nov.\",\"Dez.\"]"; 我需要把它转换成这样的东西: string[] output;//convert "input" to it 我在看,但是这对我没有帮助 如何将我的string转换为string[]是这种情况吗?这是怎么回事:

我有这种绳子

string input="[\"Modell\",\"Jan.\",\"Feb.\",\"Mrz.\",\"Apr.\",\"Mai\",\"Jun.\",\"Jul.\",\"Aug.\",\"Sep.\",\"Okt.\",\"Nov.\",\"Dez.\"]";
我需要把它转换成这样的东西:

string[] output;//convert "input" to it
我在看,但是这对我没有帮助

如何将我的
string
转换为
string[]
是这种情况吗?

这是怎么回事:

var output = input.Trim(new[] { '[', ']' }).Split(',').Select(x => x.Trim('\"')).ToArray();
虽然这可能适用于您的示例,但我建议使用@Cuong Le使用Json反序列化器给出的方法。它更健壮,还可以处理嵌套结构

这个呢:

var output = input.Trim(new[] { '[', ']' }).Split(',').Select(x => x.Trim('\"')).ToArray();

虽然这可能适用于您的示例,但我建议使用@Cuong Le使用Json反序列化器给出的方法。它更健壮,还可以处理嵌套结构

您的输入具有json格式作为字符串数组,因此您可以简单地使用nuget上非常流行的库,然后反序列化回C#中的字符串数组:

var result=JsonConvert.DeserializeObject(输入);

您的输入将json格式作为字符串数组,因此您可以简单地使用nuget上非常流行的库,然后反序列化回C#中的字符串数组:

var result=JsonConvert.DeserializeObject(输入);

不是很好,但是很有效:

string[] output = input.Replace("[", "").Replace("\"", "").Replace("]", "").Split(',').ToArray<string>();
string[]output=input.Replace(“[”,”).Replace(“\”,”).Replace(“[”,”).Split(“,”).ToArray();

不是很好,但是很有效:

string[] output = input.Replace("[", "").Replace("\"", "").Replace("]", "").Split(',').ToArray<string>();
string[]output=input.Replace(“[”,”).Replace(“\”,”).Replace(“[”,”).Split(“,”).ToArray();

不会删除
[
]
,也不会解决包含
的子字符串的问题,比如
字符串输入=“[\”Mod\\\\\”ell\”]”
我将其更改为“input.Split(”,”)。选择(x=>x.Trim(“\”).ToArray();“但我得到了”[0]:“[\”model”[1]:“1]:“1],[2]:“2]:“2]:“2]:”Mrz:“4]:“4]:”[5] :“Mai”[6]:“Jun.”[7]:“Jul.”[8]:“Aug.”[9]:“Sep.”[10]:“Okt.”[11]:“Nov.”[12]:“Dez.”[7]:“Jun.”[7]:“Jul.”[8]:“Aug.”[9]:“Sep.”[10]:“Okt“我把它改为'input.Split(',')。选择(x=>x.Trim('\').ToArray();'但是我得到了'[0]:“[\'model”[1]:“一月”[2]:“二月”[3]:“Mrz。”[4]:“四月”[5]:“Mai”[6]:“六月”;[7]:“七月”[8]:“八月”;[9]:“九月”[10]:“奥克特”;[11]:“十一月”;[12]:“迪兹”;“实际上”;“迪兹”;”“反斜杠太多…”有效-对于这个特定的示例。输入是JSON,您只需使用JSON解析库即可。输入可能还包含逗号、引号和嵌套数组。@CodeCaster该输入看起来像JSON,也可能是JSON。但除非是契约式的JSON,否则这种假设有点危险。我已经处理了很多类似XML的问题过去我真的不喜欢这种假设的格式:D输入很可能是通过无意识地将字符串组合在一起产生的,就像以前使用INI、CSV、XML甚至HTTP所做的一样。@Luaan像这样含糊不清的问题首先不应该回答。假设它不是JSON和HTTP编写自己的解析器至少也同样危险-对于这个特定的示例。输入是JSON,您只需使用JSON解析库即可。输入可能还包含逗号、引号和嵌套数组。@CodeCaster该输入看起来像JSON,也可能是JSON。但除非是契约式的JSON,否则这种假设有点危险。我已经处理了很多类似XML的问题过去我真的不喜欢这种假设的格式:D输入很可能是通过无意识地将字符串组合在一起产生的,就像以前使用INI、CSV、XML甚至HTTP所做的一样。@Luaan像这样含糊不清的问题首先不应该回答。假设它不是JSON和HTTP编写自己的解析器至少同样危险。这是JSON输入,还是您自己的某种格式?有很多JSON反序列化库。这是JSON输入,还是您自己的某种格式?有很多JSON反序列化库。