javascript - 如何在 jquery 中用多个字符串作为分隔符拆分一个字符串

标签 javascript jquery regex string 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
}

但我想将 string(x) 拆分为:Age:Date:(表示一个字符串数组作为分隔符)
最后我想要一个包含这些部分的 sting 数组:"Name: John Doe\n","30\nBirth","12/12/1981"
x 字符串只是一个示例,我没有任何类似的字符串! 我怎样才能重写这些代码?

最佳答案

你可以做到

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

这给出了 3 个字符串:

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

如果你还想得到分隔符,使用

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

这给出了 5 个字符串:

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

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

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'));

关于javascript - 如何在 jquery 中用多个字符串作为分隔符拆分一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867182/

相关文章:

javascript - 获取所有必需的输入并在页面加载时检查它们

jquery - 停止 jQuery 脚本

jquery - 在 iOS 设备上的 iframe 中不触发点击/点击事件

regex - 在Elasticsearch中提取路径的所有子文件夹

regex - 使用 sed 提取 XML 文件的元素内容

php - 将字符串分别分解为字符和数字

Javascript:具有特定 CSS 类的数字的序数后缀

javascript - 保护 CORS : is there a security scheme with cookies?

javascript - 如何在javascript中编写高效的事件回调方法

javascript - 如何使用userAgent检测移动设备