Java (或其他第三方库)是否提供了基于字符代码(当然是在已知的Charset中)而不是正则表达式来替换字符的API?例如,要将给定字符串中的双引号替换为单引号,可以使用:
String noDoubles = containsDoubles.replace("\"", "'");但是,双引号的UTF8字符代码是U+0022。那么有没有什么东西可以搜索U+0022字符的实例并用单引号替换它们呢?
此外,这里不只是询问双引号/单引号,我讨论的是字符代码查找和任意2个字符的替换。
发布于 2013-10-01 03:06:49
使用重载的version - String#replace(char, char),它接受字符。所以,你可以这样使用它:
String str = "aa \" bb \"";
str = str.replace('\u0022', '\'');
System.out.println(str); // aa ' bb '发布于 2013-10-01 03:06:43
只需使用unicode文本:
// I'm using an unicode literal for "
String noDoubles = containsDoubles.replace('\u0022', '\'');上面的代码适用于任何字符,只要你知道它对应的代码。
发布于 2013-10-01 03:09:15
您还可以使用正则表达式。从Javadoc
\xhh十六进制值为0xhh的字符
\uhhhh十六进制值为0xhhhh的字符
因此,你可以这样写:
String noDoubles = containsDoubles.replace("\\u0022", "'");https://stackoverflow.com/questions/19101824
复制相似问题