我的朋友正在尝试完成他的计算机科学项目,但有一件事阻止他这样做: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类和
上的JavaDocumentationreplaceAll(String str, String replacement);
他们说反斜杠和美元符号可能会使返回的字符串略有不同。还有另一种方法吗?
提前谢谢。
答案 0 :(得分:0)
String
个对象是不可变的。结果不存储在原始对象中。 replaceAll()
返回一个String
对象,您可以将其存储回来,如下所示:
bible.get(c).setForeign(bible.get(c).getForeign().replaceAll("\\n"," "));