我有一个很长的字符串,所以我想把它拆分成一个字符串数组,所以在每个位置字符串的长度应该低于指定的数字。分割只能在空白区域或标点符号后进行,因为我需要每个片段在读取时都有意义。它类似于文字处理器,因此当单词不适合当前行时,它将转到下一行。
我曾经想过用正则表达式将白色空格或标点符号中的给定String拆分并加入它们来控制StringBuilder的长度,但我认为拆分所有单词然后加入它们可能效率不高
执行此操作的最有效方法是什么?是否有任何图书馆可以帮助完成这项工作?
非常感谢。
答案 0 :(得分:4)
您可以尝试以下方法:
假设您必须拆分最多 n 个字符的字符串。
我认为这可能比分裂然后加入你的字符串更有效。
答案 1 :(得分:2)
Apache commons可能对此有所帮助。
http://commons.apache.org/lang/api-2.5/index.html
请参阅WordUtils
静态函数static String wrap(String str, int wrapLength)
- 包含一行文字,通过' '
识别单词。
它也是开源的,所以如果你需要更具体的东西,只需查看源代码......
答案 2 :(得分:0)
我会采用我能想到的最简单的方法,并担心如果它们确实存在问题,可能会出现效率或性能问题。