首页 > 解决方案 > 正则表达式删除java中的特殊字符

问题描述

我有一个带有几个特殊字符的字符串,只需要删除几个(〜和`)。我已经编写了下面的代码,但是当我打印拆分的字符串时,值也会变空。

String str = "ABC123-xyz`~`XYZ 1.7A";

String[] str1= varinaces.split("[\\~`]");

        for(int i=0; i< str1.length ; i++){
            System.out.println("str==="+ parts[i] );
        }

输出:

str===ABC123-xyz str=== str=== str===XYZ 1.7A

为什么空字符串也在这里打印?

标签: javaregex

解决方案


您正在拆分一个特殊字符...拆分 1 个或多个

String[] str1= varinaces.split("[~`]+");

另请注意,tilda~不需要转义。


推荐阅读