如何从字符串中提取包含字符和数字的最后一位数字

时间:2016-07-08 15:03:58

标签: javascript

如何从字符串中仅提取应为“5”的最后一个数字?

Orange

7 个答案:

答案 0 :(得分:10)

鉴于你的字符串......

var str = "1000040928423195 points added to your balance";

...我们可以用正则表达式提取所有数字......

var onlyNumbers = str.replace(/\D/g,'');

......最后,得到最后一个:

var lastNumber = onlyNumbers.substring(onlyNumbers.length - 1);

这是一个演示:

var str = "1000040928423195 points added to your balance";
var onlyNumbers = str.replace(/\D/g,'');
var lastNumber = onlyNumbers.substring(onlyNumbers.length - 1);

console.log(lastNumber);

答案 1 :(得分:3)

只需在parseInt

之后添加toString()即可

var str = "1000040928423195 points added to your balance";
var str = parseInt(str).toString();
var lastNum = str.substr(str.length - 1);
console.log(lastNum);

答案 2 :(得分:3)

使用像/\d+(\d)/

这样的正则表达式
var str = "1000040928423195 points added to your balance";
str.match(/\d+(\d)/)[1]

答案 3 :(得分:2)

在第二行之后,str不再是字符串;它是一个整数。因此,您可以使用str % 10提取最后一位数字;如有必要,将其转换为字符串。

答案 4 :(得分:2)

尝试使用正则表达式解析它,如下所示:)



string = "120394023954932503 fdsaf fdsaf dasfasd";
regex = /([0-9]*)/g;
match = regex.exec(string);
last_num = match[0].substr(match[0].length - 1);
console.log(last_num);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="string_val"></div>
&#13;
&#13;
&#13;

答案 5 :(得分:1)

使用正则表达式\d+(\d)匹配多个数字后跟一个数字。

\d将尽可能多地占用,其中(\d)将匹配最后一个。

然后从第一组[1]获取最后一个数字。

&#13;
&#13;
var str = "1000040928423195 points added to your balance";

var match = /\d+(\d)/g.exec(str)[1];

console.log(match);
&#13;
&#13;
&#13;

答案 6 :(得分:1)

var digit = /.*(\d)/.exec("awoo123awoo")[1];
  

3