[英]Replace a string by character code instead of regex?
Java(或任何其他第三方库)是否提供了用于基于字符代码(当然在已知Charset
内)而不是基于正则表达式的Charset
替换的API? 例如,要将给定字符串中的双引号替换为单引号,可以使用:
String noDoubles = containsDoubles.replace("\"", "'");
但是,双引号的UTF-8字符代码是U+0022
。 那么,有什么可以搜索U+0022
字符实例并将其替换为单引号的东西吗?
另外,我不仅在这里询问双引号或单引号,我还说的是字符代码查找和任意2个字符的替换。
使用重载版本String#replace(char, char)
接受字符。 因此,您可以像这样使用它:
String str = "aa \" bb \"";
str = str.replace('\u0022', '\'');
System.out.println(str); // aa ' bb '
只需使用unicode文字即可:
// I'm using an unicode literal for "
String noDoubles = containsDoubles.replace('\u0022', '\'');
只要您知道相应的代码,以上内容就可以用于任何字符。
您还可以使用正则表达式。 从Javadoc :
\\ xhh十六进制值为0xhh的字符
\\ uhhhh十六进制值为0xhhhh的字符
因此,您可以这样写:
String noDoubles = containsDoubles.replace("\\u0022", "'");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.