java删除某些特殊字符

时间:2015-05-12 07:31:20

标签: java regex

抱歉,它可能是重复的帖子,但我真的不明白这个正则表达式是如何工作的。我曾推荐其他人发帖但仍然混淆。我从excel导入文件时尝试删除某些特殊字符。任何帮助将不胜感激。

下面是我从excel获得的数据示例:

String test = "HELLO~I!Am@B#C(D)an`d|OPQ/HMM\YES^123,.&*$" 
test = test.replaceAll("[^-A-Za-z0-9", " ");  // not completed regex

我不知道如何编写一个完整的正则表达式来替换这些字符,如`^ \ / | *        清空字符串

1 个答案:

答案 0 :(得分:2)

您不需要将^放在char类的开头,因为它是regex中的一个特殊类,称为否定字符类。

string.replaceAll("[/\\\\|*^`]", "");

在java正则表达式中,您需要使用四个反斜杠来匹配文字反斜杠字符。

IDEONE

如果您还想删除[],则需要在字符类中包含\\[\\]

string.replaceAll("[/\\\\|*^`\\[\\]]", "");