我有这样的字符串T 8.ESTÜTESTतुम मेरी
。现在使用java正则表达式我想用其等效代码替换非ascii字符Ü
,तुम मेरी
。
我怎样才能实现这个目标?
我可以用任何其他字符串替换它。
String str = "T 8.ESTÜTESTतुम मेरी";
String resultString = str.replaceAll("[^\\p{ASCII}]", "");
System.out.println(resultString);
打印T 8.ESTTEST
答案 0 :(得分:1)
抱歉,我不知道如何使用一个正则表达式执行此操作,请检查这是否适合您
String str = "T 8.ESTÜTESTतुम मेरी";
StringBuffer sb = new StringBuffer();
for(int i=0;i<str.length();i++){
if (String.valueOf(str.charAt(i)).matches("[^\\p{ASCII}]")){
sb.append("[CODE #").append((int)str.charAt(i)).append("]");
}else{
sb.append(str.charAt(i));
}
}
System.out.println(sb.toString());
打印
T 8.EST[CODE #220]TEST[CODE #2340][CODE #2369][CODE #2350] [CODE #2350][CODE #2375][CODE #2352][CODE #2368]
问题似乎是如何告诉正则表达式如何将它找到的内容转换为代码。