gpt4 book ai didi

java - 如何根据换行符分割java字符串

转载 作者:行者123 更新时间:2023-12-01 18:00:34 28 4
gpt4 key购买 nike

我在java中有一个字符串定义如下:

String numbers = null;
for (int i= 0; i < contactNumberList.size();i++)
{
numbers = contactNumberList.get(i) + "\n" + numbers;
}

其中 contactNumberList 包含四个项目:9891、3432、5432、9890。因此,在循环之后,我的数字字符串为:9890\n5432\n3432\n9891\nnull

然后我通过以下 API 传递了上述字符串。

String toUnicodeEncoded = StringEscapeUtils.escapeJava(numbers);
toUnicodeEncoded = StringEscapeUtils.escapeXml10(toUnicodeEncoded);

现在,当我尝试将字符串打印为UnicodeEncoded 字符时,如下所示:

for (int i =0;i<toUnicodeEncoded.length();i++)
{
Logger.log("chat at "+i + " = "+(toUnicodeEncoded.charAt(i)));
}

它给出:

char at 0 = 9
char at 1 = 8
char at 2 = 9
char at 3 = 0
char at 4 = \
char at 5 = n

等等。

我的观点是“\n”变成了两个字符\和 n 。 现在我想使用以下 API 基于“\n”将字符串拆分为UnicodeEncoded:

String lines[] = toUnicodeEncoded.split("\\n");

但是它无法分割它,因为现在“\n”已经变成了\和n。如何通过“\n”或换行符拆分为UnicodeEncoded 字符串。

基本上我希望输出为:

9890
5432
3432
9891
null

即所有四个数字。我该怎么做。

最佳答案

当我们用\n 分割字符串时,它会给出预期的输出。但最好使用 System.getProperty("line.separator")而不是\n

String s="9890\n5432\n3432\n9891\nnull";
s = StringEscapeUtils.escapeJava(s);
s= StringEscapeUtils.escapeXml10(s);

for (String number:s.split("\n")) {
System.out.println(number);
}

结果

9890
5432
3432
9891
null

关于java - 如何根据换行符分割java字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41303088/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com