首先,我尝试在SO上搜索它,但找不到解决方案。我有一个字符串
var str = 'a:5:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";i:3;s:1:"4";i:4;s:1:"5";}';
我想在 JavaScript 中获取“”之间的所有数字作为数组。我在其中一个问题上尝试了这个建议。
console.log(str.split(/[""]/));
但这输出
["a:5{i:0;s:1:", "1", ";i:1;:", "2", ";i:2;s:1:", "7", ";i:3;s:1:", "4", ";i:4;s:1:", "5", ";}"]
这并不准确。
实际上,上面的字符串是存储在 MemcacheD 中的 PHP 数组,我在 Node.JS 中检索它,这就是为什么我不能使用 json_encode 等。我不擅长正则表达式。所以请专家们多多指教。
上面字符串的结果应该是这样的数组或字符串
str = "1,2,3,4,5";
或者像
这样的数组array = [1,2,3,4,5];
最佳答案
str.match(/"\d+"/g).join().replace(/"/g,'')
// "1,2,3,4,5"
关于javascript - 在javascript中获取2个字符之间的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22083155/