String.replace()奇怪的行为

时间:2015-09-13 21:15:37

标签: java string replace

我必须用空格替换字符串。但是replace()方法行为奇怪。

这是完整的字符串:

Prova gestione spoiler.<br/><br/><spoiler>Primo spoiler. :zizi:</spoiler><br/><br/>Un po' di testo qui non fa mai male. :asd:

我需要摆脱第一部分, Prova gestione剧透字符串。我得到第一部分,标签之前的字符串,动态,所以每次它都是一个不同的字符串。

现在有一个棘手的部分。如果我这样做:

temp = text.replace(preSpoilerText, " ");

该字符串不会被替换。但如果我这样做:

temp = text.replace("Prova gestione spoiler", " ");

字符串将被替换。

是否有我缺少的东西,或者有更好的方法来替换整个字符串?

感谢。

1 个答案:

答案 0 :(得分:0)

像这样的东西

String foo="Prova gestione spoilerstuff I don't care about";
String bar="Prova gestione spoiler";

System.out.println(foo.replace(bar,""));
System.out.println(foo.replace("Prova gestione spoiler",""));

将始终返回相同的结果

stuff I don't care about

由于存在非字母数字字符,可能会出现一些奇怪的行为,如此说明

System.out.println("n".length());
System.out.println("\n".length());
System.out.println("\\n".length());

印刷

1
1
2