Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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
Java Android:按“拆分字符串”\";作为字符串而不是新行_Java_Android_String_Split - Fatal编程技术网

Java Android:按“拆分字符串”\";作为字符串而不是新行

Java Android:按“拆分字符串”\";作为字符串而不是新行,java,android,string,split,Java,Android,String,Split,我有一个来自服务器的字符串 String text = "- 30016264\n- 30014837\n- 30014836\n"; 我以前是这样分开的 String[] list = text.split("\n"); String[] list = text.split("\\n"); 我得到了这样的列表,长度为1 list[0] = "- 30016264\n- 30014837\n- 30014836\n"; list[0] = "- 30016264\n- 30014837\

我有一个来自服务器的字符串

String text = "- 30016264\n- 30014837\n- 30014836\n";
我以前是这样分开的

String[] list = text.split("\n");
String[] list = text.split("\\n");
我得到了这样的列表,长度为1

list[0] = "- 30016264\n- 30014837\n- 30014836\n";
list[0] = "- 30016264\n- 30014837\n- 30014836\n";
当我习惯这样分开它的时候

String[] list = text.split("\n");
String[] list = text.split("\\n");
我得到了同样的列表,长度为1

list[0] = "- 30016264\n- 30014837\n- 30014836\n";
list[0] = "- 30016264\n- 30014837\n- 30014836\n";
如何编写基于“\n”而不是下一行拆分字符串的代码


注意:此字符串来自服务器,因为它是在此处写入的,当我将此服务器字符串用作
TextView
值时,它将显示在一行中。

如果您的输入来自服务器,并且采用此格式:

- 30016264\n- 30014837\n- 30014836\n
然后,在Java中,它应该用双反斜杠表示,如下所示:

- 30016264\\n- 30014837\\n- 30014836\\n
因为反斜杠在Java中是一个特殊字符,所以必须用另一个反斜杠对其进行转义

然后要使用
\\n
拆分,您需要使用
\\\\n
,为什么要使用4个反斜杠,因为正如我之前所说的,反斜杠是特殊字符,您必须用另一个反斜杠转义,因为您需要4而不是2或1

您的解决方案应该如下所示:

String text = "- 30016264\\n- 30014837\\n- 30014836\\n";
String[] split = text.split("\\\\n");
输出

- 30016264 
- 30014837
- 30014836

我可以知道四个
/
的原因吗?它有效。谢谢@VishAdave每个输入包含两个反斜杠,您必须用反斜杠转义每个输入,因为有4个backslashes@YCF_L好的,知道了,谢谢!是的,关于这两种情况下打印的内容,您是对的。第一句台词很好。第二个无意义。
String list=text.split(“\n”)。不可能的!甚至没有编译。@greenapps更正了上面的代码!!!