在这里,我有一个例子javascipt字符串:
example_string = "Answer 1| Answer 2| Answer 3|";
Run Code Online (Sandbox Code Playgroud)
我试图使用正则表达式获取这样的数组:
Array ["Answer 1", " Answer 2", " Answer 3"]
Run Code Online (Sandbox Code Playgroud)
我试过了:
result = example_string.split('/[|]+/g');
Run Code Online (Sandbox Code Playgroud)
并且还具有以下模式
'/[|]+/g'
'/[|]+\b/g'
'/[|]+[^$]/g'
Run Code Online (Sandbox Code Playgroud)
我仍然在它的末尾得到一个带有空元素的数组:
Array ["Answer 1", " Answer 2", " Answer 3", ""]
Run Code Online (Sandbox Code Playgroud)
这给我带来了很多麻烦.有谁知道我在我的模式中犯错误或如何解决它?
我正在尝试创建一个单行正则表达式数组值,该值在连字符和下划线上拆分,并且还在数字组(一个或多个)上拆分(并记住)。我编写了一个正则表达式来实现此目的,但它还插入空字符串并undefined
插入结果数组
https://jsfiddle.net/vdmom1qL/
var x = '232as-df98_rew_98_9fg9-dd988fff.jpg';
console.log(x.split(/(?:[-._])|(\d+)/));
//the output
//["", "232", "as", undefined, "df", "98", "", undefined, "rew", undefined, "", "98", "", undefined, "", "9", "fg", "9", "", undefined, "dd", "988", "fff", undefined, "jpg"]
Run Code Online (Sandbox Code Playgroud)
我到底做错了什么?我的意思是正则表达式似乎在逻辑上是正确的(从可读的角度来看它是有意义的),但是空字符串和undefined
's 非常奇怪
更新
这更多的是关于正则表达式的问题,然后是从数组中删除空索引。我想要说明的要点是:这个正则表达式有什么问题,导致它创建那些空字符串和undefined
s?
我正在尝试使用逗号或空格分割字符串.逗号可以选择在空格之前和/或之后,空格本身也可以作为分隔符.代码如下所示:
var answers= s.split(/(\s*,\s*)|\s+/);
Run Code Online (Sandbox Code Playgroud)
如果s
包含字符串'ab,c',我会得到一个包含五个项目而不是预期三个项目的列表(数组):
0:a,1:未定义,2:b,3:,, 4:c
任何关于我做错的建议都将受到赞赏.
菲利普