【问题标题】:How to find numbers in the following string using JavaScript?如何使用 JavaScript 在以下字符串中查找数字?
【发布时间】:2016-05-31 07:02:32
【问题描述】:

我正在尝试使用分隔符“T”和“L”将字符串分成两部分。

T49.80000305175781L60.00000190734863

所以,我期待一个包含这些元素的数组:

["49.80000305175781","60.00000190734863"]

我试过这些,但它们不起作用。

    var xPos = xPos.split('T', 'L'); //Returns empty
    var xPos = xPos.split(/T/, /L/); //Returns empty
    var xPos = xPos.split(/T/); //Returns: ["", "49.80000305175781L60.00000190734863"]

最好的方法应该是什么?

【问题讨论】:

标签: javascript split


【解决方案1】:

您可以使用正则表达式进行积极的前瞻。

console.log('T49.80000305175781L60.00000190734863'.split(/(?=[TL])/));

或者没有字母,只是出现字母的地方。

console.log('T49.80000305175781L60.00000190734863'.split(/[TL]/));

为了完整起见,一个步骤与String.match 的提案

console.log('T49.80000305175781L60.00000190734863'.match(/[^TL]+/g));

【讨论】:

  • 为什么开头有空结果? (在第二个例子中)
  • 表示'T'前面的部分。
  • @Mjukis:你可以看看这里,了解如何过滤掉空值:stackoverflow.com/a/2843625/1166642
  • 你可以申请array.shift(),那么第一个元素就没有了。
【解决方案2】:

您可以使用.match()RegExp /\d+\.\d+/g

console.log("T49.80000305175781L60.00000190734863".match(/\d+\.\d+/g))

【讨论】:

  • 这实际上是最灵活也是最好的解决方案。
【解决方案3】:

Split 有两个可选参数。第一个是分隔符,第二个是限制。您可以找到here 的文档。

如果你想用多个分隔符分割它,你应该使用正则表达式:

console.log('T49.80000305175781L60.00000190734863'.split(/T|L/));

【讨论】:

    【解决方案4】:

    我认为您不能像这样将 split 与多个分隔符一起使用。

    你可以做的是使用正则表达式来分割字符串。

    xPos.split(/T|L/g)
    

    应该可以。

    【讨论】:

      【解决方案5】:

      妮娜的回答太棒了!我真心的。但是如果你有更多的这些数字/数组或者你想调用它,你可以使用类似 Nina 的方法,但是为了让字母变得有趣,你可以使用正则表达式来获取所有值,而无需声明所有的字母。

      包括字母:

      console.log('T49.80000305175781L60.00000190734863C34.534623460304040003'.split(/(?=[a-zA-Z])/));

      没有字母:

      console.log('T49.80000305175781L60.00000190734863C34.534623460304040003'.split(/[a-zA-Z]/));

      【讨论】:

        【解决方案6】:

        只需用空白字符替换字符并将该字符串存储到新变量中。你会得到所有的号码

        【讨论】:

          猜你喜欢
          • 2010-12-10
          • 1970-01-01
          • 2016-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-22
          • 1970-01-01
          • 2022-12-16
          相关资源
          最近更新 更多