求一个正规表达式,删除字符串中的数字和符号,用空隔代替,但是如果是汉字的电码\0000-\9999不能删 求一个正规表达式,删除字符串中的数字和符号,用空隔代替,但是如果是汉字的电码\0000-\9999不能删除。例如:"abc11,cd123 \0123" 删除后 应该是 "abc cd \0123" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String s ="abc11,cd123 \1123"; String s2 = s.replaceAll("[[0-9]+]|[^\\w]", " "); System.out.println(s); System.out.println(s2);结果:abc11,cd123 J3abc cd J \112代表是一个8进制数,十进制值为74,是字母J 有难度,关键是String把\1123中的\112解释为一个字符了。 "abc11,cd123 \\0123" 电码加个转义符呢 Please try this:public static void main(String[] args) throws Exception{ String s ="abc11,cd123 \\1123"; String s2 = s.replaceAll("(?<!\\\\(\\d{0,3}))[0-9]+|[,;:\\.\\?\\+\\-]", " "); System.out.println(s); System.out.println(s2);} public static void main(String[] args) throws Exception{ String s ="abc11,cd123 \\1123"; String s2 = s.replaceAll("(?<!\\\\)[0-9]*\\W", " "); System.out.println(s); System.out.println(s2);}结果:abc11,cd123 \1123abc cd 1123 String s = "abc11,cd123 \\0123";s = s.replaceAll("([^\\\\\\d]+)\\d+", "$1");System.out.println(s); 我想出了一个完全满足你的要求的表达式,既可以替换掉都好也可以替换到非\开头的数字: String s5 = "abc11,cd123 \\0123,68,T5699"; String s6 = s5.replaceAll("\\W*(?<![\\\\\\\\\\d])([0-9]+){1,}\\W?", " "); System.out.println(s5); System.out.println(s6);结果:abc11,cd123 \0123,68,T5699abc cd \0123 T 请问,java如何获得单个字符的宽度高度信息,这么简单的问题,我找了半天没解决................... 谁有在非WEB项目里使用SPRING的例子,拿个来看看吧 关于socket传输图片中的异常求解 各位前辈!请问API应该看哪部分?(着急找工作) 为什么用arraylist添加元素的时候说我使用了未经检查或不安全的操作。 JAVA如何打印容器中的组件 java怎样抽取pdf里面的中文文本 重金悬赏3des加密算法的java实现代码 关于文件锁 请教log4j的配置 关于setColor的问题,颜色一下子就没有了,怎么回事 C/S学生管理系统的问题~求大神,小弟较劲脑汁了~
String s ="abc11,cd123 \1123";
String s2 = s.replaceAll("[[0-9]+]|[^\\w]", " ");
System.out.println(s);
System.out.println(s2);结果:
abc11,cd123 J3
abc cd J
\112代表是一个8进制数,十进制值为74,是字母J
public static void main(String[] args) throws Exception{
String s ="abc11,cd123 \\1123";
String s2 = s.replaceAll("(?<!\\\\(\\d{0,3}))[0-9]+|[,;:\\.\\?\\+\\-]", " ");
System.out.println(s);
System.out.println(s2);
}
public static void main(String[] args) throws Exception{
String s ="abc11,cd123 \\1123";
String s2 = s.replaceAll("(?<!\\\\)[0-9]*\\W", " ");
System.out.println(s);
System.out.println(s2);
}结果:
abc11,cd123 \1123
abc cd 1123
s = s.replaceAll("([^\\\\\\d]+)\\d+", "$1");
System.out.println(s);
String s6 = s5.replaceAll("\\W*(?<![\\\\\\\\\\d])([0-9]+){1,}\\W?", " ");
System.out.println(s5);
System.out.println(s6);结果:
abc11,cd123 \0123,68,T5699
abc cd \0123 T