我需要对我的长多行文字字符串进行智能多线剪切。
最初我有以下内容:
在上面的屏幕上,我指出了我实际用来显示文字的狭窄区域。 最后,我想得到以下内容:
我寻找的主要思想是如何将多行文本整体截断(不是用字符串分隔,截断它们然后再连接)。
更详细地说,我有3个由\n
分隔的字符串,并在一个长字符串中连接。
我希望在以下条件下将这个长字符串放在明确的UILabel中作为属性字符串:
所以我想不仅截断标签框架的整个长字符串的尾部,而且每个字符串的尾部分别用\n
分隔。
我知道我可以动态地做到这一点:用单词分割每个子串并连接单词,直到需要更多然后最大允许行。
但我相信使用格式化或CoreText有一些优雅的方法。
答案 0 :(得分:0)
你可以使用一些优雅的正则表达式:)
s/^(.{0,80}).*$/\1/g
例如,这个只会从每个子字符串中留下80个第一个符号。
s/^(.{1,80})(?<!\s)(?!\w)/\1/g
这个不会超过80,但只能在空白处打破