簡體   English   中英

從字符串中刪除連字符的最快方法

[英]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方法更快。

http://jsperf.com/remove-hyphens-from-string

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM