Sil*_*ght 4 javascript regex string jquery split
我想在jquery或javascript中使用多个分隔符拆分字符串.
我们可以将一个字符串作为分隔符:
var x = "Name: John Doe\nAge: 30\nBirth Date: 12/12/1981";
var pieces = x.split("\n"), part;
for (var i = 0; i < pieces.length; i++) {
bla bla bla
}
Run Code Online (Sandbox Code Playgroud)
但是我希望将字符串(x)拆分为:Age:和Date:(表示字符串数组作为分隔符)
,最后我想要一个带有这些部分的sting数组:"Name:John Doe \n","30 \nBirth"," 1981年12月12日"
那个x字符串只是一个例子,我没有这样的字符串!我怎么能重写这些代码?
Den*_*ret 12
你可以做
var tokens = x.split(/Age:|Date:/g);
Run Code Online (Sandbox Code Playgroud)
这给出了3个字符串:
["Name: John Doe
", " 30
Birth ", " 12/12/1981"]
Run Code Online (Sandbox Code Playgroud)
如果您还想获得分隔符,请使用
var tokens = x.split(/(Age:|Date:)/g);
Run Code Online (Sandbox Code Playgroud)
这给出了5个字符串:
["Name: John Doe
", "Age:", " 30
Birth ", "Date:", " 12/12/1981"]
Run Code Online (Sandbox Code Playgroud)
如果你想动态构建你的正则表达式
var separators = ["Date:", "Age:"];
var tokens = x.split(new RegExp(separators.join('|'), 'g'));?????????????????
Run Code Online (Sandbox Code Playgroud)
要么
var separators = ["Date:", "Age:"];
var tokens = x.split(new RegExp('('+separators.join('|')+')', 'g'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16717 次 |
| 最近记录: |