我有类似于:185-51-671的I,但是它们也可以在结尾有字母,175-1-7b。
我要做的就是删除连字符,作为预处理步骤。给我一些用javascript做这件事的很酷的方法?我想可能会有很多类似的问题,但我想看看人们会为“只连字符”做些什么优化。
谢谢!
编辑:我使用的是jQuery,所以我猜.replace(a,b)做的很好(用b替换a)。
numberNoHyphens = number.replace("-","");
还有其他选择吗?
编辑2:
所以,万一有人想知道,正确的答案是
numberNoHyphens = number.replace(/-/g,"");
您需要"g“,这是模式开关或”全局标志“,因为
numberNoHyphens = number.replace(/-/,"");
将只匹配并替换第一个连字符。
发布于 2011-06-01 17:01:47
这不是更快,但是
str.split('-').join('');
也会起作用的。
如果有人想要添加和比较他们的方法,我设置了jsperf测试,但是不太可能有比replace
方法更快的方法。
http://jsperf.com/remove-hyphens-from-string
发布于 2011-06-01 16:57:51
var str='185-51-671';
str=str.replace(/-/g,'');
发布于 2021-03-18 09:27:09
在String.prototype.replaceAll()
中变得容易得多。查看浏览器对内建法的支持。
const str = '185-51-671';
console.log(str.replaceAll('-', ''));
https://stackoverflow.com/questions/6204867
复制相似问题