var patt = path.match(/P[0-9][0-9][0-9]/);
patt = patt.substr(1); //Remove P
while(patt.charAt(0) === '0') { //Remove 0
patt = patt.substr(1);
}
alert(patt);
patt
已修复为以下格式:
例如。 P001
至P999
我想要做的是非常基本的,只需删除P
和前导0
(如果有的话)。但是,上面的代码不起作用。谢谢你的帮助
答案 0 :(得分:11)
请像这样使用:
var str = patt.join('');
str = str.replace(/ P0 * /,'');
答案 1 :(得分:1)
如果保证此函数的输入有效(即形式为P001 ... P999),那么您只需使用以下内容来提取整数:
parseInt(path.substr(1), 10)
答案 2 :(得分:1)
这似乎是全局parseInt
函数的完美用例。
parseInt(patt.substr(1), 10);
它将您要解析的字符串和基数作为输入。 基数是可选的,但大多数人建议总是明确设置基数,以避免在某些边缘情况下可能发生的意外。
一旦遇到非数字值(排除空格),它就会停止解析字符串。 出于这个原因,在上面的代码片段中,我们传递了第一个字符剥离的输入字符串,正如您所提到的那样,字母是“P”。
此外,ES2015在parseInt
构造函数上引入了Number
函数作为静态方法。
答案 3 :(得分:0)
只需一行就可以得到你想要的东西
var path = "P001"; //your code from P001 - P999
删除P和前导“0”的解决方案。
parseInt(path.substr(1), 10);
谢谢和问候