javascript - 如何将一个复杂的字符串分成 3 个独立的数组?

标签 javascript string arrays

我在这里:
我从一个数组开始...使用“正则表达式”清理它。
现在我有了这个...每个项目都有三个值

  • mystring = 4|black|cat, 7|red|dog, 12|blue|fish

这是我想去的地方:
我想以三个数组结束。

  • array1=("4","7","12")
  • array2=("黑色","红色","蓝色")
  • array3=("猫","狗","鱼")

我也想在不离开页面的情况下执行此操作...最好使用 javascript
我理解这个理论,但我对语法很纠结。

最佳答案

我会使用 John Resig 著名的 "search and don't replace"方法在这里,它非常适合它:

var arr1 = [], arr2 = [], arr3 = [],
    mystring = "4|black|cat, 7|red|dog, 12|blue|fish";

mystring.replace(/(\d+)\|([^\|]+)\|([^,]+)/g, function ($0, $1, $2, $3) { 
    arr1.push($1);
    arr2.push($2);
    arr3.push($3);
}); 

Example

关于javascript - 如何将一个复杂的字符串分成 3 个独立的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319455/

相关文章:

javascript - Multiscroll.js 的导航问题

java - 从另一个字符串数组中过滤字符串数组

ios - 对具有 NSData 数组的 NSArray 进行排序

ios - 使用 for 更改 var 名称

javascript - 对于 float a和b,在没有上溢、下溢和NaN的情况下,a-b>0总是等于a>b吗?

javascript - JavaScript 循环问题

python - 查找字符串中第一个数字的索引

java - 在 Java 上复制 boolean 数组

javascript - 为什么input的属性值=text,而li的属性值=number?

查找与负正则表达式匹配的字符串中最后位置的 Pythonic 方法