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/

相关文章:

regex - 在大型项目中使用ack查找打印行

php - 为什么使用dom而不是regex来解析网页?

JavaScript 正则表达式?或者其他非常正确的文本输入方法

javascript - 如何配置 Karma 以使用 requirejs 和 qunit

php - 使用 HostMonster 连接到数据库

javascript - Konva.js 中是否可以用鼠标左键绘制并用鼠标右键拖动舞台?

JavaScript 正则表达式 : replace text in string between two "markers"

javascript - 使用 javascript 搜索嵌套对象中的特定值并返回仅包含搜索到的项目的更新后的原始对象

javascript - 如何提取 TSV 文件中的信息并将其保存在 JavaScript 数组中?

PHP 正则表达式无法正常工作?