【发布时间】:2017-05-14 06:41:05
【问题描述】:
免责声明:我是编程新手!我确实看过 S.O.在发布之前找到这个问题的答案,但没有找到我需要的答案。
现在,我正在使用的 API 返回一个变量:“描述”。 'description' 是一个带有标点符号的 250 个字符的动态字符串。
我必须将字符串截断为 110 个字符,然后在其后插入一个省略号。这很容易 - 我一直在使用类似的东西:
description.slice(0,110) + "..."
但上述内容是有问题的,因为我无法预测我的字符串将截断的字符。如果它在标点符号或空格处截断,结果看起来真的很傻:
我已经阅读了很多类似的查询,其中开发人员想知道如何在字符串末尾去掉一个标点符号。但我可能需要删除几个标点字符,具体取决于变量返回的标点符号或空格。
任何人都可以建议我解决此问题的最佳方法吗?如果我可以提供任何其他信息,请告诉我。
【问题讨论】:
-
这是一个纯 CSS 的替代方案(虽然我认为它不允许您控制截断发生在哪个字符上):caniuse.com/#feat=text-overflow
-
检查切片描述,使用 charAt (str.length-1),添加条件...如果点在末尾,添加两个点,如果不是 -> 3... 类似的东西.. ..
-
我推荐一种不同的方法:根据单词进行拆分,并将少于 110 个字符的单词粘合起来。通过这种方式,您将确保只获得完整的单词,而不是像 long sle... 这样愚蠢的东西
标签: javascript css string slice