2016-02-28 83 views
0

我想摆脱我努力尝试不了的逗号。我查看了互联网上的所有源代码。每个人都说.replace(一些正则表达式) - >我试过那个,它没有工作,node.js和jquery的错误是.replace()不是函数。为什么我会收到逗号?

我解析这个数据从JSON文件和客户端是jQuery与ajax。

输出:

我想我的正则表达式的功能是错误的,我需要它可以扫描我的JSON文件,然后找到网址,AKA与FTP/HTTP/HTTPS/WWW等启动功能,

谢谢!

+0

告诉我们您的正则表达式功能,您试图解析数据,也就是它只是逗号,你需要摆脱的? – thatOneGuy

+0

你可以显示你想分析的数据吗?它的字符串是正确的?或者你是加载整个JSON文件作为一个字符串和匹配? –

+0

是的,它只是我需要摆脱的逗号,因为我需要解析来自JSON数据的URL,我将使用它们。 –

回答

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> 

输出

enter image description here

我希望这是你在找什么。

让我知道你是否需要别的东西!

:)

+0

问题是数据在数据中很长,并且可能是一个URL,我需要它们的列表,我需要我的代码来扫描它们并找到它们,我需要所有这些数据。所以,我需要一个迭代代码,它可以找到所有这些代码并删除逗号。我分享的代码找到了所有这些代码,我不能摆脱逗号。 –

+0

噢...好的。现在我懂了。我在回家的路上。我会在大约半个小时内找到解决方案! –

+0

好吧,假设这是你的数据'[{0 {0} {0} {id}:4797492459, “text”:“她很幸运可以使用href = \”http://www.google.com \“对不对? “user”:{“url”:“http://whatever.com”} },{ “id”:4797490987, “text”:“她很倒霉,她无法使用href = \”http ://www.google.in“right?”, “user”:{“url”:“http://another-whatever.com”} }]'并且你想要下面的输出'['http: //www.google.com'''http://whatever.com'''http://www.google.in','http://another-whatever.com'] .... ....是这个对? –

0
var str1 = ".edu,http,,our.risd.edu,,,, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,"; 

var str2 = str1.replace(/,/g, ''); 

console.log(str2); 

记“G”的正则表达式的结束标志

相关问题