【问题标题】:how to get specific characters between others in a string with jquery?如何使用jquery在字符串中获取其他人之间的特定字符?
【发布时间】:2020-06-02 21:59:26
【问题描述】:

有这样一个字符串:

var str = "https://www.portalinmobiliario.com/venta/departamento/vitacura-metropolitana/6579-parque-arboleda-nva";

我只需要能够从该字符串中获取“6579”数字,因为它是我需要使用的 ID。实际上, 此 ID 始终位于最后一个“/”和随后的下一个“-”之间。

所以考虑到 url 是动态的,但这个“ID”总是在这两个字符“/”和“-”之间,我必须能够始终获得 ID。

任何想法我该如何解决这个问题?

我试过了,但是

var id = str.lastIndexOf('/');

【问题讨论】:

标签: javascript


【解决方案1】:

您可以使用正则表达式来匹配数字,后跟一个破折号,并确保它后面的任何内容都不是斜杠。

var str = "https://www.portalinmobiliario.com/venta/departamento/vitacura-metropolitana/6579-parque-arboleda-nva";
console.log(str.match(/\/(\d+)-[^/]+$/)[1])

【讨论】:

  • 这是 IMO 的最佳方法。
【解决方案2】:

如果您不想使用正则表达式。

'"https://www.portalinmobiliario.com/venta/departamento/vitacura-metropolitana/6579-parque-arboleda-nva"'
  .split('/').pop()
  .split('-').shift();

pop() 删除最后一个元素。

shift() 删除第一个元素。

【讨论】:

  • 喜欢.pop.shift 方法,以前从未见过正则表达式后视/前瞻替代品! +1
【解决方案3】:

获取您的 var id 并替换您的原始字符串

var index = str.lastIndexOf('/');
var id = str.substr(index+1,4);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    相关资源
    最近更新 更多