在整个单词上创建子串

时间:2016-09-29 06:19:41

标签: java string groovy

在Java或Groovy中有一个库或一个简单的实现 对于文本,它会在某个长度创建子串但不会在中间打破一个单词?

带输入的示例方法:substring("My very long text", 9 /*substring length*/, true /*break on whole words only*/)

输出,因为没有保留它会导致My very l的单词。由于我想打破整个单词,只会是My very

如果没有空格,它会在索引处剪切字符串:

substring("MyVeryLongText", 9 /*substring length*/, true /*break on whole words only*/) - > MyVeryLon

1 个答案:

答案 0 :(得分:1)

我相信我可以说Java没有内置。我们为类似的任务编写了自己的方法。可能很容易有一些免费的库,但我不认为我会为这个相对简单的问题引入一个新的依赖。如果没有可以打破的空间(substring("Beginning with a long word", 4, true)),您将需要决定要发生什么。也许你找到的图书馆在这种情况下不能做你想要的。如果您自己编写,则需要考虑原始字符串太短(substring("Cat", 4, true))的情况以及第4个字符(substring("Long text", 4, true))之后的空格。