使用正则表达式在两个或两个以上的空格或制表符处分割。

6
我想创建一个正则表达式,匹配两个或更多的空格或制表符,基本上是text.split(" ")text.split("\t")的组合。我该如何创建它?
我的尝试:(但它不起作用)
text.split(new RegExp("[  |\t]"))

编辑:这将在空格/制表符处分割,但我需要在2个或更多空格处分割。

text.split("\\s+");
3个回答

10

1
我之前使用了这个,但对于一个选项卡它并没有起作用。所以我不得不切换到 \s{2,}|\t。我想这是正确的,因为我只有一个制表符。 - Will

1
String s="This      is      test";
    String [] as=s.split("\\t{2,}");
    for(int i=0;i<as.length;i++)
    System.out.println(as[i]);

这对我有效。

0
我建议使用下面的函数。 它可以将每个单词分开,不受任何空格/制表符的影响。

const filterWords = (text) => {
    const wordList = text.split(" ");
    let trimmedWordList = [];

    for (let index = 0; index < wordList.length; index++) {
        trimmedWordList.push(wordList[index].trim());
    }

    return trimmedWordList.filter(function (e) {
        return e !== "";
    });
}

console.log(filterWords("    This       is a demo      text"));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接