字符串去除特殊字符
方法一:
String address= "江苏省。苏州市;工业园区 学府!";
String regEx="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?]";
address = address.replaceAll(regEx,"");
System.out.println(address);
方法二:
String address= "江苏省。苏州市;工业园区 学府!";
address = address.replaceAll("[^\\u4e00-\\u9fa5\\w]", "").replace("_", "");
System.out.println(address);
[^\u4e00-\u9fa5\w]:这个正则表达式的含义如下:
- [^…] 表示不匹配括号内的字符集合。
- \u4e00-\u9fa5 表示 Unicode 编码范围,即汉字的范围。
- \w 匹配任何字母、数字或下划线。
因此,这个正则表达式的意思是替换字符串中非汉字、字母、数字和下划线的字符为空字符串。接着,.replace(“_”, “”) 用于将剩余的下划线字符替换为空字符串。
总的来说,这个正则表达式的作用是将字符串中除了汉字、字母、数字和下划线之外的字符全部去除,并将剩余的下划线字符也去除。