gpt4 book ai didi

javascript - 将长单词拆分为等长的片段

转载 作者:行者123 更新时间:2023-11-29 19:46:43 26 4
gpt4 key购买 nike

如何使用 JavaScript 拆分超长的单词?我不是在寻找像 word-break: break-all 这样的 CSS 解决方案。目标是在长单词中插入空格以将它们分成更小的部分。解决方案应尽可能快,因为它会在几秒钟内被调用数千次。

示例解决方案应该如何工作:

splitString("This is an exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxample string.");
=> This is an exxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxample string.

splitString("AnotherExammmmmmmmmmmpleeeeeeeeeeeeeeeee");
=> AnotherExammmmmm mmmmmpleeeeeee eeeeeeeeee

任何太长的单词都用空格字符分隔。

如果生成的片段长度大致相等,那就更好了。

最佳答案

既然你问的是性能,我比较了一个正则表达式方法:

function splitString(str, length) {
var regex = new RegExp("/(\w{" + length + "})(?=\w)/g");
return str.replace(regex, "$1 ");
}

使用这个相对简单的手工解决方案:

function splitString(str, length) {
var words = str.split(" ");
for (var j = 0; j < words.length; j++) {
var l = words[j].length;
if (l > length) {
var result = [], i = 0;
while (i < l) {
result.push(words[j].substr(i, length))
i += length;
}
words[j] = result.join(" ");
}
}
return words.join(" ");
}

JsPerf说正则表达式版本在我的机器 (Mac Opera16) 上大约快 8%。因为这也更简洁,所以我会去做。

关于javascript - 将长单词拆分为等长的片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com