【问题标题】:How do I parse content with regular expression using jQuery?如何使用 jQuery 使用正则表达式解析内容?
【发布时间】:2009-06-15 19:27:17
【问题描述】:

我正在尝试使用 jQuery 将赤经和赤纬数据分别从字符串中分解为它们的组成部分(小时、分钟和秒)和(度、弧分和弧秒)并将它们存储在变量中作为数字。例如:

$dec = "-35:48:00" -> $dec_d = -35, $dec_m = 48, $dec_s = 00

实际上,数据位于表格的一个单元格(具有特定的类 ('ra'))中。 目前,我已经做到了这一点:

var $dec = $(this).find(".ra").html();

这给了我作为字符串的偏角,但我不知道如何解析该字符串。 我想出了正则表达式(-|)+\d+(这给了我从-35:48:00 的-35)来获得第一部分。如何将它与上面的代码结合使用?

【问题讨论】:

    标签: javascript jquery regex


    【解决方案1】:

    应该这样做:

    var dec = '-35:48:00';
    var parts = dec.split(':');
    

    parts[0] 将是 -35parts[1] 将是 48parts[2] 将是 00

    如果你想从字符串中取出整数,你可以通过parseInt(parts[x], 0) 运行它们:

    var dec_d = parseInt(parts[0], 10);
    var dec_m = parseInt(parts[1], 10);
    var dec_s = parseInt(parts[2], 10);
    

    我应该指出这实际上与 jQuery 无关,并且是一个 Javascript 问题(至少过去从 HTML 文档中获取值) - 使用 $ 前缀变量的做法通常是为了表示该变量包含一个 jQuery 集合。由于在这种情况下它包含 HTML,所以有点误导

    【讨论】:

      【解决方案2】:

      使用 String.match()

      $dec = "-35:48:00";
      matches = $dec.match(/-*[0-9]+/g);
      for (i=0;i<matches.length;i++){
        alert(matches[i]);
      }
      

      【讨论】:

      • 谢谢!我对此进行了测试,它也可以正常工作,但第一个解决方案更适合我的需求。太糟糕了,我无法将两个答案都标记为正确。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2011-05-24
      • 2015-07-08
      • 2012-08-23
      • 2014-06-08
      相关资源
      最近更新 更多