假设我有以下两个字符串:如何从另一个字符串中“减去”一个字符串?
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
不,掩码也可以包含其他字符。而且,掩码字符可以位于任意位置。 –