如何在jQuery中使用多个字符串作为分隔符拆分字符串 [英] How split a string in jquery with multiple strings as separator

查看:706
本文介绍了如何在jQuery中使用多个字符串作为分隔符拆分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用多个分隔符在jquery或javascript中拆分字符串.
对于一个字符串作为分隔符,我们可以有:

i want to split a string in jquery or javascript with multiple separator.
for one string as separator we can have :

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
}

但是我想用:Age:Date:来拆分字符串(x)(意味着将字符串数组作为分隔符)
最后我想要一个包含以下部分的字符串数组:名称:John Doe \ n","30 \ nBirth","1981/12/12"
该x字符串只是一个例子,我没有任何这样的字符串! 我该如何重写这些代码?

But i want to split such that string(x) with : Age: and Date: (mean a string array as separator)
and at last i want a sting array with these parts : "Name: John Doe\n"," 30\nBirth "," 12/12/1981"
that x string is just an example and i dont have any string like that! how can i rewrite theses codes?

推荐答案

您可以

var tokens = x.split(/Age:|Date:/g);

这给出了3个字符串:

["Name: John Doe
", " 30
Birth ", " 12/12/1981"]

如果您还想获取分隔符,请使用

If you want also to get the separators, use

var tokens = x.split(/(Age:|Date:)/g);

这给出了5个字符串:

["Name: John Doe
", "Age:", " 30
Birth ", "Date:", " 12/12/1981"]

如果要动态构建正则表达式,请使用

If you want to build your regexp dynamically use

var separators = ["Date:", "Age:"];
var tokens = x.split(new RegExp(separators.join('|'), 'g'));​​​​​​​​​​​​​​​​​

var separators = ["Date:", "Age:"];
var tokens = x.split(new RegExp('('+separators.join('|')+')', 'g'));

这篇关于如何在jQuery中使用多个字符串作为分隔符拆分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆