Android:将字符串“\ n”拆分为字符串而不是新行

时间:2018-03-13 09:06:03

标签: java android string split

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

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值时,它将显示在一行中。

1 个答案:

答案 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