如何在非字母字符上分割字符串。正则表达式JavaScript

时间:2019-07-18 06:38:47

标签: javascript regex

我有一个句子想要分解成单词数组,但是如果包含标点符号,我最终会以某种方式在数组中加上引号。

console.log("This is an example sentence! Dangit".split(/[\W/]/));

// Outputs: ["This", "is", "an", "example", "sentence", "", "Dangit"] 

我该如何解决?

3 个答案:

答案 0 :(得分:2)

您可以改用match来查找单词字符。

console.log("This is an example sentence! Dangit".match(/\w+/g))

答案 1 :(得分:2)

尝试使用[\W]+,它将多个非单词字符组合在一起-

"This is an example sentence! Dangit".split(/[\W/]+/)

Array(6) [ "This", "is", "an", "example", "sentence", "Dangit" ]

答案 2 :(得分:0)

单个和多个目标空间和标点符号:

int sum = Stream.of(obj1, obj2, obj3)
        .filter(o -> Objects.nonNull(o.getRootCategory()))
        .mapToInt(c -> c.getQty() * c.getPrice())
        .sum();

[\s.?!,]+