如何根据字符串末尾的数字获取数字?
How do I get a number based on the numbers on the end of a string?
我有几个字符串,我想将数字与最后一个位置分开。如果字符串不以数字结尾,0
或 false
应该 returned.
这里有一些例子:
- 字符串
"A1C10"
应该return10
- 字符串
"20AX23"
应该return23
- string
"15AZC"
应该 return 0
或 false
您可以在此处使用 match
:
var inputs = ["A1C10", "20AX23", "15AZC"];
var outputs = inputs.map(x => x.match(/\d+$/) ? x.match(/\d+$/)[0] : "0");
console.log(outputs);
根据您的新要求,我们可以拆分 (?<=\D)(?=\d*$)
上的输入:
var inputs = ["A1C10", "20AX23", "15AZC"];
for (var i=0; i < inputs.length; ++i) {
var parts = inputs[i].split(/(?<=\D)(?=\d*$)/);
if (parts.length == 1) parts.push("0");
console.log(inputs[i] + " => " + parts);
}
我有几个字符串,我想将数字与最后一个位置分开。如果字符串不以数字结尾,0
或 false
应该 returned.
这里有一些例子:
- 字符串
"A1C10"
应该return10
- 字符串
"20AX23"
应该return23
- string
"15AZC"
应该 return0
或false
您可以在此处使用 match
:
var inputs = ["A1C10", "20AX23", "15AZC"];
var outputs = inputs.map(x => x.match(/\d+$/) ? x.match(/\d+$/)[0] : "0");
console.log(outputs);
根据您的新要求,我们可以拆分 (?<=\D)(?=\d*$)
上的输入:
var inputs = ["A1C10", "20AX23", "15AZC"];
for (var i=0; i < inputs.length; ++i) {
var parts = inputs[i].split(/(?<=\D)(?=\d*$)/);
if (parts.length == 1) parts.push("0");
console.log(inputs[i] + " => " + parts);
}