java - 使用 Java 将单引号 (') 附加到特殊字符串

标签 java string replace special-characters single-quotes

我想为仅包含特殊字符的字符串附加单引号。这就是我想要实现的目标:-

String sp = ''{+#)''&$;

结果应该是:-

'''' {+#)''''&$

这意味着对于每个单引号,我们也需要在该特定索引处附加 1 个单引号。

下面是我试过的代码:-

public static String appendSingleQuote(String randomStr) {
        if (randomStr.contains("'")) {
            long count = randomStr.chars().filter(ch -> ch == '\'').count();
            for(int i=0; i<count; i++) {
                int index = randomStr.indexOf("'");
                randomStr = addChar(randomStr, '\'', index);
            }
            System.out.println(randomStr);
        }
        return randomStr;
    }

    private static String addChar(String randomStr, char ch, int index) {
        return randomStr.substring(0, index) + ch + randomStr.substring(index);
    }

但这给出了这样的结果:-

'''''' {+#)''&$

对此有什么建议吗?字符串可以包含偶数和奇数个单引号。

最佳答案

你所需要的只是replace:

String str = "''{+#)''&$";
str = str.replace("'", "''");

输出

''''{+#)''''&$

关于java - 使用 Java 将单引号 (') 附加到特殊字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58929158/

相关文章:

java - 在 J2ee 应用程序上为 DAO 编写测试用例

java - Jframe 窗口将不再工作

C 将字符串存储到数组中

javascript - 用特定字符串替换所有左边的空格

linux - 在整个 Linux 文件系统中查找并替换文件/文件夹名称和内容

java - Eclipse(实际上是 RAD)在项目上抛出 WAR 验证错误(CHKJ3000E)

java - 我什么时候应该在java中使用 JFrame.add(component) 和 JFrame.getContentPane().add(component)

c++ - unordered_map 迭代器迭代到空指针,无视可能性

.net - 为什么 string.IsNullOrWhiteSpace ("\0") 是假的

java - 如何替换字符串中的不同文本