从string中删除连字符的最快方法
我的身份证号码如下: 185-51-671,但最后也可以有字母, 175-1-7b
我想要做的就是删除连字符,作为预处理步骤。 显示一些很酷的方法来做到这一点在JavaScript? 我认为可能有很多像这样的问题,但我很想看看有什么优化的人会用“连字符”
谢谢!
编辑:我使用的是jQuery,所以我猜.replace(a,b)做的伎俩(用b代替)
numberNoHyphens = number.replace("-","");
任何其他的select?
编辑#2:
所以,如果有人想知道,正确的答案是
numberNoHyphens = number.replace(/-/g,"");
而您需要的是模式切换或“全局标志”的“g”
numberNoHyphens = number.replace(/-/,"");
只会匹配并replace第一个连字符
您需要包含全局标志 :
var str="185-51-671"; var newStr = str.replace(/-/g, "");
这不是更快,但是
str.split('-').join('');
也应该工作。
我build立了一个jsperftesting,如果有人想要添加和比较他们的方法,但它不可能比replace
方法更快。
var str='185-51-671'; str=str.replace(/-/g,'');
这些答案的索姆,编辑之前,并没有删除所有的连字符。 您需要使用.replaceAll("-","")