我想为仅包含特殊字符的字符串附加单引号。这就是我想要实现的:-
String sp = ''{+#)''&$;
结果应为:-
'''' {+#)''''&$
这意味着对于每个单引号,我们也需要在该特定索引处附加一个单引号。
下面是我尝试过的代码:-
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("'", "''");
输出
''''{+#)''''&$