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

2020-09-03  本文已影响0人  wanggs

问题描述:

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

原因分析:

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

上一篇 下一篇

猜你喜欢

热点阅读