我想用不同的分隔符拆分一个字符串。而且只有一次...看来我不明白:-(。 例如:
test/date-2020-02-10Xinfo
我想要的是一个数组,如下所示:
[test,Date,2020-02-10,info]
我尝试了几件事,例如:
this.informations = this.info.map(i => i.split(/(?:/|-|X)+/));
我得到的是 [测试,日期,2020,02,10,信息]
你可以使用声明一个正则表达式,比如
/^([^/]+)/([^-]+)-(d{4}-d{2}-d{2})X(.*)/
请参阅正则表达式演示。
详情:
^
- 字符串的开头([^/]+)
- 第 1 组:除/
以外的一个或多个字符/
-/
炭([^-]+)
- 第 2 组:除-
以外的一个或多个字符-
--
炭(d{4}-d{2}-d{2})
- 第 3 组:四位
数字、X
-X
炭(.*)
- 组 4:字符串的其余部分。
-
、两位数字、-
、两位数字像使用它一样
this.info.map(i => i.match(regex).slice(1));
.slice(1)
将从结果数组中删除第一项String#match(RegExp)
返回,即整个匹配值(因为您只需要捕获的子字符串(。