替换字符串中的每第 n 个字符

新手上路,请多包涵

我有这个 JavaScript:

 var str = "abcdefoihewfojias".split('');

for (var i = 0; i < str.length; i++) {
    var xp = str[i] = "|";
}
alert( str.join("") );

我的目标是用 abcdefoihewfojias 替换字符串中的每四个字母 | ,所以它变成 abc|efo|....etc ,但我没有这个线索。

原文由 Cat Overlord 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 611
2 个回答

为了支持可重用性和将其包装在对象/函数中的选项,让我们对其进行参数化:

 var str = "abcdefoihewfojias".split('');
var nth = 4; // the nth character you want to replace
var replaceWith = "|" // the character you want to replace the nth value
for (var i = nth-1; i < str.length-1; i+=nth) {
    str[i] = replaceWith;
}
alert( str.join("") );

原文由 user2723025 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以用正则表达式替换来做到这一点:

 var str = "abcdefoihewfojias";

var result = str.replace(/(...)./g, "$1|");

console.log(result);

原文由 James Montagne 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题