我有一个包含非ASCII字符的URI,例如:
http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=SchmalblättrigeSomerzischeruchtanb
如何从这个URI中删除"�"字符?
我有一个包含非ASCII字符的URI,例如:
http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=SchmalblättrigeSomerzischeruchtanb
如何从这个URI中删除"�"字符?
我猜测URL的源头更可能有问题。也许你修复了错误的问题?从URI中删除“奇怪”的字符可能会赋予它完全不同的意义。
话虽如此,你可以尝试使用简单的字符串替换来删除所有非ASCII字符:
String fixed = original.replaceAll("[^\\x20-\\x7e]", "");
如果这不能覆盖“�”字符,您也可以将其扩展到所有非四字节UTF-8字符:
String fixed = original.replaceAll("[^\\u0000-\\uFFFF]", "");
yourstring=yourstring.replaceAll("[^\\p{ASCII}]", "");
不不不,这不是ASCII码...[^\x20-\x7E]
这才是真正的ASCII码:[^\x00-\x7F]
否则它将修剪掉换行符和其他特殊字符,这些字符是ASCII表的一部分!
String str="<UPC>616043287409ÂÂÂÂ</UPC>";
str = str.replaceAll("[^\\p{ASCII}]", "");
输出:
<UPC>616043287409</UPC>