在我使用Javascript仅在问两个字符之间获取数字的问题之前几天搜索了SO和其他文章(全部是静脉注册)之后。但不幸的是,我想只使用javascript从字符串中获取 substring 而不仅仅是数字。我有这个字符串
var str = 'a:7:{i:0;s:1:"1";i:1;s:12:"John Smith";i:2;s:19:"My Life Begins Here";i:3;s:31:"This is my .Picture.jpg";i:4;s:10:"1988-07-26";}'
和解决方案只从字符串中抓取数字这很好用
str.match(/"\d+"/g).join().replace(/"/g,'');
但是如果我们需要抓取子字符串,这不起作用,我尝试从正则表达式中删除\ d但是没有用。
我在做什么?输出可以是这样的
//An array like this
array = ['1','John Smith', 'My Life Begins Here', 'This is my .Picture.jpg', '1988-07-26'];
实际上,上面的字符串是存储在MemcacheD中的PHP数组,我在Node.JS中检索它,这就是为什么我不能使用json_encode。我不擅长正则表达。所以专家们请展示一些亮点。
答案 0 :(得分:2)
喜欢这个?它仍将以逃脱的方式打破\"字符。
str.match(/".*?"/g).map(function(str) {
return str.substring(1, str.length - 1);
});