我必须用空格替换字符串。但是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", " ");
字符串将被替换。
是否有我遗漏的东西,或者是否有更好的方法来替换整个字符串?
谢谢。
最佳答案
类似这样的事情
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
关于java - String.replace() 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32554620/