javascript - 从字符串末尾到破折号获取数字

标签 javascript regex

我有 URL,并且需要获取位于字符串末尾的 id。网址看起来是这个/questions/M%C3%A4rkte+que+sentra-361433。我需要得到破折号的最后一个数字。 我正在尝试使用这个表达式,但它捕获了所有数字。

let str = 'questions/M%C3%A4rkte+que+sentra-361433';
let id = str.replace(/[^0-9]/g,'');

在这个具体示例中,我得到了 34361433,但它应该是 361433

最佳答案

使用正则表达式:

let str = 'questions/M%C3%A4rkte+que+sentra-361433';
let id = str.match(/(?:-)(\d+)$/)[1];
console.log(id);

作为另一种不使用正则表达式的方法,如果它适用于您:

let str = 'questions/M%C3%A4rkte+que+sentra-361433';
let splitted = str.split('-');
let id = splitted[splitted.length - 1];
console.log(id);

关于javascript - 从字符串末尾到破折号获取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58304115/

相关文章:

javascript - 使用加密模块进行 RSA 解密给出 "rsa OAEP sha512"

javascript - JS 中函数的原型(prototype)?

JavaScript [对象元素]

regex - 如何在正则表达式字符类中转义右方括号?

javascript - 在正则表达式中允许 "/"正斜杠

php - 基本正则表达式 PHP 问题

javascript - 告诉 jQuery 执行 value 属性中设置的 Action

javascript - 如何在 Javascript 循环中为每个字符串获取一行

php - Markdown 中的自动命名 anchor

php - 我如何将 preg_match 与字母数字和 unicode 接受一起使用?