我有一个来自API响应的字符串,希望将其拆分为一个句子的末尾(使用'。'分隔符)或某个长度,以便它可以适合我的应用程序的显示。
这是我用定界符分割字符串的方式:
String[] splitDescription = displayOcrString.split("\\.");
示例输出:
singleEntry: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
2018-12-04 14:40:16.853 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 122
2018-12-04 14:40:16.854 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat
2018-12-04 14:40:16.854 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 107
2018-12-04 14:40:16.859 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur
2018-12-04 14:40:16.859 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 102
2018-12-04 14:40:16.860 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
2018-12-04 14:40:16.860 22138-23068/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 110
这是我尝试将定界符和固定长度(50)都合并到正则表达式中的方式:
String[] splitDescription = displayOcrString.split("(?<=\\G.{50})|\\.");
示例输出:
2018-12-04 14:42:53.603 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Lorem ipsum dolor sit amet, consectetur adipiscing
2018-12-04 14:42:53.603 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 50
2018-12-04 14:42:53.607 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
2018-12-04 14:42:53.607 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 72
2018-12-04 14:42:53.615 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat
2018-12-04 14:42:53.615 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 107
2018-12-04 14:42:53.617 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur
2018-12-04 14:42:53.617 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 102
2018-12-04 14:42:53.619 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: singleEntry: Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
2018-12-04 14:42:53.619 24191-25540/com.irisvision.realityviewer W/MainActivity: readLinesFromImage: length: 110
但是,正如您所看到的,我没有获得所需的输出。我希望每个字符串条目都可以减少一个句点或将其长度减少为50。
感谢您的帮助。