是否可以制作具有多个分隔符的正则表达式?例如,我想分割一个字符串,它可以有两种形式:1。“string1,string2,string3”或2.“string1,string2,string3”。我一直试图用javascript做到这一点但到目前为止没有成功。
答案 0 :(得分:23)
只需使用正则表达式split()
:
var string = "part1,part2, part3, part4, part5",
components = string.split(/,\s*/);
我使用*
而不是?
的原因仅仅是因为它不允许使用空格或许多空格。而?
匹配零或一个空格(这正是你所要求的,但即便如此)。
顺便说一句,如果逗号之前可能有空格,那么修改split()
正则表达式可能值得:
var string = "part1,part2 , part3, part4, part5",
components = string.split(/\s*,\s*/);
console.log(components);
将提供的字符串拆分为零或多个空格,后跟逗号,后跟零或多个空格。当然,这可能完全没必要。
参考文献:
答案 1 :(得分:5)
是的,使用\s
:
?
)可选
var s = "string1,string2,string3";
s.split(/,\s?/);
答案 2 :(得分:1)
除了席尔瓦
万一你怀疑它可以有多个空格然后使用(或没有空格)
var s = "string1, string2, string3";
s.split(/,\s*/);