字符串方法replaceAll(String s,String replacement)

时间:2016-06-29 17:07:14

标签: java string

我的朋友正在尝试完成他的计算机科学项目,但有一件事阻止他这样做:String方法replaceAll似乎没有正常工作。他希望删除所有新行或返回的实例(\ n或\ r),并用几个空格替换它们。

for(int c = 0; c<bible.size(); c++){
    bible.get(c).getForeign().replaceAll("\\n","          ");
    bible.get(c).getForeign().replaceAll("\\r","          ");
}

代码

bible.get(c).getForeign()

返回从文本文件读入的其他语言的String。这段代码有什么问题吗?它似乎没有用空格替换新的线条。 我检查了String类和

上的JavaDocumentation
replaceAll(String str, String replacement);
他们说反斜杠和美元符号可能会使返回的字符串略有不同。还有另一种方法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

String个对象是不可变的。结果不存储在原始对象中。 replaceAll()返回一个String对象,您可以将其存储回来,如下所示:

bible.get(c).setForeign(bible.get(c).getForeign().replaceAll("\\n","          "));