如何从字符串中删除除一组字符外的所有字符?

时间:2015-01-14 21:53:19

标签: java regex

我想删除字符串中的所有字符,除了' +',' - '和'。'。这些值可以存储在数组中或硬编码到程序中。无论如何使用特定功能或使用正则表达式执行此操作?

2 个答案:

答案 0 :(得分:2)

是的,正则表达式具有否定字符类的语法。

不,我不打算给你完整的解决方案。在正则表达式手册中查找。它是如此基本,我不明白为什么你需要问,当它在每个文档中都是正确的。问题在哪里?

答案 1 :(得分:0)

您可以将Regex与字符串替换一起使用。

/[^\+|\-|\.]/g

这有点矫枉过正。我只是通过仅添加所需的字符来覆盖字符串并构建新字符串。类似的东西:

String text = retrieveTextToProcess();
StringBuilder sb = new StringBuilder();

for (char ch: text.toCharArray()) {
    if(isDesiredCharacter(ch)) {
       sb.Append(ch);
    }
}

您需要编写retrieveTextToProcess和isDesiredCharacter方法。