【发布时间】:2021-05-24 01:57:54
【问题描述】:
我有一个如下所示的字符串,我想在特定字符限制后截断它并显示一个省略号。
"This is a long string"
在截断时,我希望字符串显示如下:
This is a long (...)
or
This is a (...)
or
This is (...)
上面的例子没有删减字眼。我不想要的是:
This is a lon (...)
or
This is a long s (...)
上面的例子都不行。
我正在使用以下函数来截断字符串。该功能的问题在于它有时会截断单词。我使用的长度值是 175。 对于 175 个字符的限制,有时会删减单词,有时不会。
export const wordsTruncate = (words, length) => {
const j = words.split('');
let result = j.filter((z, a) => a <= (length - 1));
return result.join("");
}
我想知道我需要在上面的函数中进行哪些更改,以便它不会像上面的示例中所示那样截断单词。
【问题讨论】:
-
如果有一个像600000个随机字符这样的大词怎么办?除此之外,在这里使用
.slice()似乎更容易——比如说words.slice(0, length).split(/\s+/)?您的.split("")只是拆分字母,而不是单词。 -
@ggorlen 感谢您的回答。我想知道你能不能举个例子来解释一下。
-
我不确定您对此的应用,但如果您在网页上显示文本。 CSS 规则将为您处理此问题。
-
@ggorlen 我试过你的答案,但没有用。