Javascript拆分字符串并删除前导0
我对jquery非常陌生……我如何拆分这样的字符串:Javascript拆分字符串并删除前导0,javascript,split,Javascript,Split,我对jquery非常陌生……我如何拆分这样的字符串: readybuilt-ANT-133.pdf readybuilt-VIC-041.pdf 所以我只得到133和41两个数字 这就是我迄今为止所尝试的 var str = this.home_pdf; var res = str.split("-"); var lotNumber = res[2].split("."); lotNumber = lotNumber[0];
readybuilt-ANT-133.pdf
readybuilt-VIC-041.pdf
所以我只得到133和41两个数字
这就是我迄今为止所尝试的
var str = this.home_pdf;
var res = str.split("-");
var lotNumber = res[2].split(".");
lotNumber = lotNumber[0];
console.log(lotNumber);
这很有效,但如何删除前导0 假设
this.home\u pdf
包含字符串,则应执行以下操作:
var str = this.home_pdf;
str=parseInt(str.replace(/\D/g,''));
if(str.match(/^0/g)){
str=parseInt(str.replace(/0/,''));
}
假设
this.home\u pdf
包含该字符串,则应执行以下操作:
var str = this.home_pdf;
str=parseInt(str.replace(/\D/g,''));
if(str.match(/^0/g)){
str=parseInt(str.replace(/0/,''));
}
试试(lotNumber,10)
。当给定适当的基数参数时,它将不关心前导零
附言:很明显,正则表达式是这里的发展方向。
更好的方法是使用Bergi的方法
var str = "readybuilt-VIC-041.pdf";
var lotNumber = str.split(/\.|-0*/)[2];
console.log( lotNumber );
试试(lotNumber,10)
。当给定适当的基数参数时,它将不关心前导零
附言:很明显,正则表达式是这里的发展方向。
更好的方法是使用Bergi的方法
var str = "readybuilt-VIC-041.pdf";
var lotNumber = str.split(/\.|-0*/)[2];
console.log( lotNumber );
将变量解析为整数:
lotNumber = lotNumber[0];
lotNumber = parseInt(lotNumber,10);
console.log(lotNumber);
将变量解析为整数:
lotNumber = lotNumber[0];
lotNumber = parseInt(lotNumber,10);
console.log(lotNumber);
另一种解决方案是使用
match()
另一种解决方案是使用
match()
这个问题中的
jQuery
是关于什么的?重新标记。看起来正则表达式可能更合理str.match(/([1-9]+\d*)\.pdf$/)
str.split(/\.\124;-0*/)[2]
+str.split('.).shift().split('-').pop()
jQuery关于这个问题的内容是什么?重新标记。看起来正则表达式可能更合理str.match(/([1-9]+\d*)\.pdf$/)
str.split(/\.\124;-0*/)[2]
+str.split('.).shift().split('-').pop()
确保将基数参数传递给parseInt
,以确保在执行parseInt
时的安全性,您将不再需要执行正则表达式替换,因为int的字符串表示形式将没有前导零。@SomeGuy:不。这就是我们删除前导零的原因:-)在某些罕见的情况下,它会导致问题!相信我,我已经面对过了@Bergi是的,我不打算发布它,但我认为最好是安全的,以防输入中的其他内容发生变化。确保将基数参数传递给parseInt
,如果执行parseInt
,就是为了安全,您将不再需要执行正则表达式替换,因为int的字符串表示形式将没有前导零。@SomeGuy:不。这就是我们删除前导零的原因:-)在某些罕见的情况下,它会导致问题!相信我,我已经面对过了@Bergi是的,我不打算发布它,但我认为最好是安全的,以防输入中的其他内容发生变化(“readybuilt-VIC-041.pdf.”替换(/[^0-9]/g),10);parseInt('readybuilt-VIC-041.pdf'。替换(/[^0-9]/g',),10);