如何在Unity中拆分json字符串?我有一个名为entry_text的字符串,它由一个函数传递。当我打印出来。它是
" Atmosphere \ t7 \ nGravity \ t \ n磁力\ t \ n地震活动\ t \ n表面\ t \ n温度\ t \ n天气\ t \ n元素1 \ t \ n元素2 \ t \ n元素3 \ t \ N7",
包含"\t"
和"\n"
。所以我想将字符串拆分为"\t"
和"\n"
。
我用过
string[] lines = entry_text.Split(new string[] {"\n"}, StringSplitOptions.None);
我也试过
string[] lines = Regex.Split(entry_text, "\n");
这也不起作用:
string[] lines = entry_text.Split(new Char[] {'\n'}, StringSplitOptions.None);
似乎拆分功能不需要" \ n"作为Enter或" \ t"作为Json的空间。
答案 0 :(得分:1)
如果你把它作为你的字符串:
string entry_text = "Atmosphere\t7\nGravity\t\nMagnetism\t\nSeismic Activity\t\nSurface\t\nTemperature\t\nWeather\t\nElement 1\t\nElement 2\t\nElement 3\t\n7";
请注意,字符串中的\t
和\n
是两个独立的字符:\
后跟t
或n
。
定义时:
string[] lines = entry_text.Split(new string[] {"\n"}, StringSplitOptions.None);
您的{"\n"}
正在翻译成换行符,而不是两个单独的字符。为此,您需要转义\
中的\n
字符:
string[] lines = entry_text.Split(new string[] {"\\n"}, StringSplitOptions.None);
另一种写法是使用@
符号,这意味着“在这个字符串中取字符,而不是转义它们”:
string[] lines = entry_text.Split(new string[] {@"\n"}, StringSplitOptions.None);
答案 1 :(得分:0)
您可以使用多个分隔符:
string[] lines = entry_text.Split('\t', '\n');
如果你想通过换行符加Split
,你也可以试试这个:
string[] lines = entry_text.Split(new[] { Environment.NewLine }, StringSplitOptions.None);