假設我有以下兩個字符串:如何從另一個字符串中「減去」一個字符串?
var value = "1-000-111";
var mask = " - -";
我想減的mask
從value
。換句話說,我想是這樣的:
var output = subtract(value, mask);
// output should be 1000111
什麼是實現subtract()
的最佳方式?我寫過這些,但對我來說這似乎並不優雅。
function subtract(value, mask) {
while (mask.indexOf('-') >= 0) {
var idx = mask.indexOf('-');
value = value.substr(0, idx) + value.substr(idx + 1);
mask = mask.substr(0, idx) + mask.substr(idx + 1);
}
return value;
}
JavaScript是否有內置的東西來實現這一點?請注意,掩碼字符不限於-
(短劃線),但也可以是其他字符,如+
。此外,掩碼字符將處於任意位置。
任何語言不可知的答案也歡迎。
可以在掩模有其他字符連字符消除? –
你的解決方案假定所有的面具都會使用'-'就是這樣嗎? – epascarello
不,掩碼也可以包含其他字符。而且,掩碼字符可以位於任意位置。 –