java - 无法替换字符串

标签 java

这是我在java中的替换方法,但无法替换以下内容。

它只替换一个\

请帮忙。请问有谁有不同的更换方法吗?

我尝试过java标准API,但不起作用,请尝试以下senario --> System.out.println(replace("这个%s就是问题", "%", "\%"));

public static String replace(String str, String sub, String rep) {
        int s, p, q;
        int slen = sub.length();
        StringBuffer sb = new StringBuffer();

        s = 0;
        p = str.indexOf(sub);
        q = p + slen;
        while (p != -1) {
            sb.append(str.substring(s, p));
            sb.append(rep);
            s = q;
            p = str.indexOf(sub, s);
            if (p != -1) {
                q = p + slen;
            }
        }
        sb.append(str.substring(s));
        return sb.toString();
    }

最佳答案

您可以使用replaceAll方法。您只需要小心转义\和 % (尽管我不完全理解为什么您需要四个 '\')!

String myString = "this%s is the problem";
myString = myString.replaceAll("%","\\\\%);

关于java - 无法替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191670/

相关文章:

java - 为未知实体类型构建通用 LocalDate JPA 标准

java - Hybris 在单独的浏览器选项卡中打开外部链接

java - 如何允许用户更改ArrayList中的值?

Java SocketChannel 读取时写入被阻止

java - JPanel 背景图片

java - LocalDate - 如何删除 LocalDate 中的字符 'T'

java - java中jxl.jar的作用

java - (添加)圈与叉游戏。 While 循环

Java Comm API 包下载

java - 游戏循环 - 时间计算