在Java中过滤掉一串不需要的字符

Fra*_*ank 3 java regex string validation filter

我循环遍历数百个数据条目,其中大多数根据我的规则有效,但是在使用条目之前必须过滤一些特殊字符或不需要的空格.

我只想要=,字符一起使用以及数字和字母.没有其他特殊字符.可以有单个空格,但只能跟随一个,单独的数据.

我在循环中调用过滤器方法:

private String filterText(String textToBeFiltered) {
    String filteredText = null;

    // Remove all chars apart from = and , with whitespace only allowed
    // after the ,

    return filteredText;
}
Run Code Online (Sandbox Code Playgroud)

我是正则表达式的新手,但是一直在拖网教程,并且会欣赏任何想法.

谢谢!

坦率

cod*_*ict 7

您可以使用以下replaceAll方法:

input = input.replaceAll("[^=,\\da-zA-Z\\s]|(?<!,)\\s","");
Run Code Online (Sandbox Code Playgroud)

Ideone Link

使用的正则表达式是:[^=,\\da-zA-Z\\s]|(?<!,)\\s这意味着:

  • 替换任何字符=, ,或任何数字或任何字母或任何非空格"",以实际删除它.
  • 同时删除任何空格,但前提是它前面没有空格 ,