[英]Fastest way to remove hyphens from a string
我的 ID 看起來像: 185-51-671 ,但它們的末尾也可以有字母, 175-1-7b
我要做的就是刪除連字符,作為預處理步驟。 在 javascript 中向我展示一些很酷的方法? 我想可能有很多像這樣的問題,但我很想看看人們會為“只是連字符”提出哪些優化
謝謝!
編輯:我正在使用 jQuery,所以我猜。replace(a,b) 可以解決問題(用 b 替換 a)
numberNoHyphens = number.replace("-","");
還有其他選擇嗎?
編輯#2:
所以,以防萬一有人想知道,正確的答案是
numberNoHyphens = number.replace(/-/g,"");
你需要“g”,它是模式開關或“全局標志”,因為
numberNoHyphens = number.replace(/-/,"");
只會匹配並替換第一個連字符
您需要包含全局標志:
var str="185-51-671";
var newStr = str.replace(/-/g, "");
這不是更快,但是
str.split('-').join('');
也應該工作。
如果有人想添加和比較他們的方法,我設置了一個 jsperf 測試,但它不太可能比replace
方法更快。
var str='185-51-671';
str=str.replace(/-/g,'');
在String.prototype.replaceAll()
中變得容易得多。 查看瀏覽器對內置方法的支持。
const str = '185-51-671'; console.log(str.replaceAll('-', ''));
在 tidyverse 中,一個非常簡單的方法是使用 ' 而不是 "
str_remove(x, '-')
你完成了
在編輯之前,其中一些答案並未刪除所有連字符。 您需要使用.replaceAll("-","")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.