java去除字符串中的特殊符号或指定的字符

tech2024-03-14  58

问题描述:

与前端联调,他们要求去掉城市,省,市,自治区

原因分析:

比如: 浙江省杭州市西湖区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不支持正则

最新回复(0)