Typescript string.split with regex with char 后跟空格和空格



我有一个这种类型的字符串:

string = "test1; test2, test3 test4;test5"

我需要拆分它并得到一个包含 5 个单词的数组。我这样做:

let arrayTo:string[] = string.split(/;|,|, |; | /);

但我得到的是一个包含 7 个元素的数组,其中两个是空字符串:

["test1","","test2","","test3","test4","test5"]

我想考虑 , 和 ; 后跟空格作为一个实体并拆分它们,但是使用此正则表达式,它也会在这些字符后面的空格上拆分。但我还需要仅按空格拆分(在这种情况下,它正确地将test3test4拆分为两个实体(。
正确的方法是什么?

您可以使用

string.split(/[;,]s*|s+/)

正则表达式匹配

  • [;,]s*-;,,然后是 0+ 空格
  • |- 或
  • s+- 1+ 空格。

JS演示:

string = "test1; test2, test3 test4;test5";
console.log(string.split(/[;,]s*|s+/));

最新更新