Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我要用逗号?_Javascript_Jquery_Json_Regex - Fatal编程技术网

Javascript 为什么我要用逗号?

Javascript 为什么我要用逗号?,javascript,jquery,json,regex,Javascript,Jquery,Json,Regex,我想去掉那些我努力尝试却做不到的逗号。我查看了互联网上所有的资料,每个人都说.replace(一些正则表达式)->我试过了,但没用,node.js和jquery的错误是.replace()不是函数 我正在解析JSON文件中的数据,客户端是带有ajax的jquery 输出: 我认为我的正则表达式函数是错误的,我需要一个函数,它可以扫描我所有的JSON文件,并找到以ftp/http/https/www等开头的URL a.K.a 谢谢 下面是一个从给定JSON对象提取URL的函数 注意:此函数也适用于

我想去掉那些我努力尝试却做不到的逗号。我查看了互联网上所有的资料,每个人都说.replace(一些正则表达式)->我试过了,但没用,node.js和jquery的错误是.replace()不是函数

我正在解析JSON文件中的数据,客户端是带有ajax的jquery

输出:

我认为我的正则表达式函数是错误的,我需要一个函数,它可以扫描我所有的JSON文件,并找到以ftp/http/https/www等开头的URL a.K.a


谢谢

下面是一个从给定JSON对象提取URL的函数

注意:此函数也适用于node.js!!:)

下面是您要扫描的数据(其结构无关紧要)

接下来的代码行

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示例。 下面是一个小提琴手的例子

全小提琴手代码 js

var数据=[{
“id”:4797492459,
“文本”:“她很幸运能使用href=\”http://www.google.com\“对吗?”,
“用户”:{
“url”:”http://whatever.com"
}
}, {
“id”:4797490987,
“文本”:“她很不幸不能使用href=\”http://www.google.in\“对吗?”,
“用户”:{
“url”:”http://another-whatever.com"
}
}];
函数提取URL(数据){
var s=JSON.stringify(数据);
var regx=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
返回s.match(regx);
}
var urlArray=extractURL(数据);
log(urlArray);
forEach(函数(url){
$('ul')。追加('
  • '+url+'
  • '); });
    HTML

      输出

      我希望这就是你要找的

      如果你还需要什么,请告诉我

      :)


      注意正则表达式模式末尾的“g”标志

      向我们展示您的正则表达式函数和您试图解析的数据,以及您需要去除的唯一逗号?您能展示您想要解析的数据吗?这是串的,对吗?或者你正在加载整个json文件作为字符串并进行匹配?是的,我只需要去掉逗号,因为我需要解析json数据中的URL,我将使用它们。我正在上载数据,请稍候,我刚刚上载了我的代码。是的,将整个json文件作为字符串,但其中有一些整数值it@DaveAmit我上传了一段JSON,我需要找到我键入的两个URL,还上传了我的解析代码。谢谢你的帮助。问题是数据很长,数据中的任何地方都可以是URL,我需要它们的列表,我需要我的代码扫描它们并找到它们,我需要所有它们。所以,我需要一个迭代代码,它可以找到所有这些代码并去掉逗号。我共享的代码都找到了,我不能去掉逗号。哦。。。好啊现在我明白了。我在路上。我会在半小时内把解决方案拿回来!好的,假设这是您的数据
      [{“id”:4797492459,“text”:“她很幸运,她可以使用href=\”http://www.google.com\“是吗?”,“用户”:{“url”:”http://whatever.com“},{“id”:4797490987,“text”:“她很不幸不能使用href=\”http://www.google.in\“是吗?”,“用户”:{“url”:”http://another-whatever.com" } }]
      您需要以下输出
      ['http://www.google.com','http://whatever.com','http://www.google.in','http://another-whatever.com']
      。。。。是这样吗?我已经更新了我的答案。请看一看。这就是你要找的吗?忘了提到我需要node.js代码来解析数据:)
      var urlArray = extractUrls(data);
      
      console.log(urlArray);
      
       [
          "http://www.google.com", 
          "http://whatever.com", 
          "http://www.google.in", 
          "http://another-whatever.com" 
       ]
      
      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>');
      });
      
      <ul></ul>
      
      var str1 = ".edu,http,,our.risd.edu,,,, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,";
      
      var str2 = str1.replace(/,/g, '');
      
      console.log(str2);