我有一个来自服务器的下面的字符串
String text = "- 30016264\n- 30014837\n- 30014836\n";
以前我曾经像这样拆分
String[] list = text.split("\n");
我得到了这样的列表,长度为1
list[0] = "- 30016264\n- 30014837\n- 30014836\n";
以前我曾经像这样分开它
String[] list = text.split("\\n");
我得到了相同的列表,长度为1
list[0] = "- 30016264\n- 30014837\n- 30014836\n";
如何根据“\ n”而不是下一行来编写拆分字符串的代码?
注意:此字符串来自服务器,因为它在此处写入,当我将此服务器字符串用作TextView
值时,它将显示在一行中。
答案 0 :(得分:3)
如果您输入的是来自服务器并采用以下格式:
- 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