Javascript / Jquery - 从字符串中获取数字

IT技术 javascript jquery string
2021-03-18 10:22:21

字符串看起来像这样

"blabla blabla-5 amount-10 blabla direction-left"

我怎样才能得到紧随其后的数字和紧随其后"amount-"的文本"direction-"

3个回答

这将得到所有由昏迷分隔的数字:

var str = "10 小于 11 但大于 9";
var 模式 = /[0-9]+/g;
var 匹配 = str.match(pattern);

执行后,字符串matches将有值"10,11,9"

如果您只是在寻找第一次出现,则模式将是/[0-9]+/- 它将返回10

(不需要JQuery)

这是最有效的方法。谢谢!
2021-04-25 10:22:21

这使用正则表达式exec 方法

var s = "blabla blabla-5 amount-10 blabla direction-left";
var amount = parseInt(/amount-(\d+)/.exec(s)[1], 10);
var direction = /direction-([^\s]+)/.exec(s)[1];

如果缺少数量或方向,代码将导致错误;如果可能,请在索引到应返回的数组之前检查 exec 的结果是否为非空。

您可以按照w3schools 的说明使用正则表达式暗示:

str = "blabla blabla-5 amount-10 blabla direction-left"
alert(str.match(/amount-([0-9]+)/));

否则,您可以简单地想要所有数字,因此仅使用 [0-9]+ 模式。str.match 将返回一个数组。