如何使用带有多个参数的分隔符

时间:2017-02-24 07:21:30

标签: java regex delimiter regex-negation

我正在尝试通过一个字符串来解析垃圾字符,在这个例子中它是:&,%,$,#,*,@等等。但我想保留空格和括号,现在我正在使用字符串上的分隔符,只是构建字符串:

public TokenIter(String line){
    line.trim();
    Scanner scr = new Scanner(line);

    String built = "";
    scr.useDelimiter("[^A-Za-Z]+|^)|^(|^ ");
    while (scr.hasNext()){
        built+= scr.next();
    }
this.line = built.trim();

我也尝试使用正则表达式和.matches(),但出于某些原因搞砸了扫描仪。任何有关如何设置分隔符的帮助都将不胜感激!

1 个答案:

答案 0 :(得分:1)

你可以做的是使用接受正则表达式的string.replaceAll,并用给定的字符串替换它的所有出现。

public void TokenIter(String line) {
    this.line = line.trim().replaceAll("[&%$#*@]+", "");
}