谁能指出第一个 if 有效而第二个 if 无效的原因?我很困惑为什么第二个 if 子句不起作用。我想得到提示,谢谢。
String msg = o.getTweet();
if (msg.indexOf("&") > 0) {
msg = msg.replaceAll("&", "&");// vervangt & door &
}
if (msg.indexOf(""") > 0) {
msg = msg.replaceAll(""", "aa"); //vervangt " door "
}
最佳答案
因为 ZERO
是一个非常有效 的索引。试试看,
String msg = o.getTweet();
if (msg.indexOf("&") != -1) {
msg = msg.replaceAll("&", "&");// vervangt & door &
}
if (msg.indexOf(""") != -1) {
msg = msg.replaceAll(""", "aa"); //vervangt " door "
}
解释:
String.indexOf(String str)
的文档解释说,“如果字符串参数作为此对象中的子字符串出现,则第一个此类的第一个字符的索引返回子字符串;如果它不是作为子字符串出现,则返回 -1。” - [link to docs]
这可以像下面一样简单地完成,如OpenSauce指出here .
msg = msg.replace("&", "&").replace(""", "\"");
有用的链接:
关于java - ReplaceAll 和 "不替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069475/