【发布时间】:2019-06-23 16:11:16
【问题描述】:
我的代码中有一个字符串。我想删除 80% 的字符串字母并将它们替换为“_”(下划线)。
我已经设法用“_”替换了所有字符串字符,但我不能让它只替换我字符串的 80%。
var a = "mystring";
var splitted = a.split('');
var count = 0;
while(count < a.length) {
if(splitted[count] !== '_' && splitted[count] !== ' ') {
splitted[count] = '_ ';
count++;
}
}
console.log(splitted);
代码输出:_ _ _ _ _ _ _ _
所需输出:_ y _ _ _ _ _ _
或:_ _ s _ _ _ _ _
或:_ _ _ _ _ i _
【问题讨论】:
-
在您的代码中看不到 80 或 0,8。您尝试过什么来实现这一目标?
-
实际上预期的结果是替换 87.5% 的字符串:对于长度为 9 或 10 的单词应该发生什么?
-
实际上 80% 表示 5 个字符中的 4 个。因此,对于每 5 个字符,下划线 4 个字符并显示可能是第一个或最后一个的 1。
-
我相信你应该计算一下每个字符串这个 80% 有多少个符号,并在 char-replace-loop 中使用它,以便在转换为下划线时不要超过这个数字;)
标签: javascript arrays node.js string