问题描述:
与前端联调,他们要求去掉城市,省,市,自治区
原因分析:
比如: 浙江省杭州市西湖区XXXXXXXXXXXXX 把省和式去掉怎么做?正则吗?。
解决方案:
方法一
String regEx="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?]";
//可以在中括号内加上任何想要替换的字符,实际上是一个正则表达式
String aa = " ";//这里是将特殊字符换为aa字符串," "代表直接去掉
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher("原字符串");//这里把想要替换的字符串传进来
String newString = m.replaceAll(aa).trim();
//将替换后的字符串存在变量newString中
方法二
如果第一种太麻烦可以直接用下面的
String str = "原字符串";
String newString = str.replaceAll(regEX,aa);//不想保留原来的字符串可以直接写成 “str = str.replaceAll(regEX,aa);”
public static void main(String[] args) {
String regEx = "[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?自治区市省]";
// String str = "浙江省";
String str = "上海市自治区";
String newString = str.replaceAll(regEx, "");//不想保留原来的字符串可以直接写成 “str =
System.out.println(newString);
// 输出: 上海
}
补充:
replaceAll支持正则
replace不支持正则
网友评论