如何将单个字符串打印成多行?

时间:2019-02-28 19:36:47

标签: c# asp.net string

我正在使用C#,ASP。我有一个类似于以下内容的字符串:

"["Fruit:Apple","Animal:Dog", "Food:Pizza"]"

如何格式化它,以便可以像下面这样打印:

  

水果:苹果

     

动物:狗

     

食物:比萨饼

3 个答案:

答案 0 :(得分:0)

该字符串不是C#,也不是JSON。因此,让我们将其转换为C#字符串(转义引号),然后使用老式的蛮力C#对其进行解析:

 var buffer = new StringBuilder("[\"Fruit: Apple\",\"Animal: Dog\", \"Food:Pizza\"]");
 buffer.Replace("\"", string.Empty);
 buffer.Replace("[", string.Empty);
 buffer.Replace("]", string.Empty);
 var results = buffer.ToString().Split(',');
 foreach (var s in results)
 {
     Debug.WriteLine(s.Trim());
 }

结果为:

Fruit: Apple
Animal: Dog
Food:Pizza

如果您不喜欢嵌入的空格,请从输入代码中删除它们,或者使用另一个.Replace调用

答案 1 :(得分:-1)

使用Newtonsoft,传递正确的json字符串

var strings = JsonConvert.DeserializeObject<List<string>>("[\"Fruit: Apple\",\"Animal: Dog\", \"Food: Pizza\"]");
foreach(var v in strings)
{
  Console.WriteLine(v);
}

答案 2 :(得分:-1)

如果字符串是这样的“ [\“水果:Apple \”,\“动物:狗\”,\“食物:披萨\”]“ 首先安装NewtonSoft.Json软件包

 string myString = "[\"Fruit: Apple\",\"Animal: Dog\", \"Food:Pizza\"]";
    var myList = JsonConvert.DeserializeObject<List<string>>(myString);
    myList.ForEach(s => Console.WriteLine(s));
相关问题