我想摆脱那些我努力并且无法做到的逗号。我看了互联网上的所有来源,每个人都说.replace(一些正则表达式) - >我试过那个并且它没有用,node.js和jquery的错误是.replace()不是函数。
我正在从JSON文件解析这些数据,客户端是jquery和ajax。
输出:
我在想我的正则表达式函数是错误的,我需要一个可以扫描所有JSON文件的函数,并找到以ftp / http / https / www等开头的URL A.K.A,
谢谢!
答案 0 :(得分:0)
以下是从给定的JSON对象中提取URL的函数。
注意:此功能也适用于node.js !! :)
function extractUrls(data) {
var s = JSON.stringify(data);
var regx = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return s.match(regx);
}
以下是您要扫描的数据(其结构无关紧要)
var data = [{
"id": 4797492459,
"text": "She was lucky that she could use href=\"http://www.google.com\" right?",
"user": {
"url": "http://whatever.com"
}
}, {
"id": 4797490987,
"text": "She was unlucky that she could not use href=\"http://www.google.in\" right?",
"user": {
"url": "http://another-whatever.com"
}
}];
然后是以下代码行
var urlArray = extractUrls(data);
console.log(urlArray);
会生成一个数组
[
"http://www.google.com",
"http://whatever.com",
"http://www.google.in",
"http://another-whatever.com"
]
注意:此处的所有内容都可以在node.js中使用。
JQuery示例。 以下是一个小提琴示例
https://jsfiddle.net/wdkdwk2g/1/
完整的提琴手代码 JS
var data = [{
"id": 4797492459,
"text": "She was lucky that she could use href=\"http://www.google.com\" right?",
"user": {
"url": "http://whatever.com"
}
}, {
"id": 4797490987,
"text": "She was unlucky that she could not use href=\"http://www.google.in\" right?",
"user": {
"url": "http://another-whatever.com"
}
}];
function extractUrls(data) {
var s = JSON.stringify(data);
var regx = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return s.match(regx);
}
var urlArray = extractUrls(data);
console.log(urlArray);
urlArray.forEach(function(url) {
$('ul').append('<li>' + url + '</li>');
});
HTML
<ul></ul>
输出
我希望这就是你要找的东西。
如果您还有其他需要,请告诉我们!
:)
答案 1 :(得分:0)
var str1 = ".edu,http,,our.risd.edu,,,, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,";
var str2 = str1.replace(/,/g, '');
console.log(str2);
注意&#39; g&#39;正则表达式结尾的标志