美文网首页
java去除字符串中的特殊符号或指定的字符

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

作者: wanggs | 来源:发表于2020-09-03 17:46 被阅读0次

    问题描述:

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

    原因分析:

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

    相关文章

      网友评论

          本文标题:java去除字符串中的特殊符号或指定的字符

          本文链接:https://www.haomeiwen.com/subject/cceosktx.html