java - ReplaceAll 和 "不替换

标签 java string

谁能指出第一个 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/

相关文章:

java - 使用 JSON 从 Tumblr 检索和显示图像

java - 打印arraylist内容时无输出

java - Android 保存字符串

python - Python 中反转字符串和回文时间复杂度

excel - 字符串加密/解密

java - 动态设置除 SSLSocket.setEnabledProtocols 之外的 setEnabledProtocols

java - 如何使用spring加载基于服务器环境的属性文件以便可以注入(inject)值?

javascript - 使用 jquery 或 javascript 删除部分属性值

java - 如何将字符串转换为位,然后将其分成两半,对一部分执行一些功能,然后与另一部分进行异或,然后使用java进行交换?

c++ - 将非英文字符串存储在 std::string 中