如何将一个Java字符串一分为二,其中第一个子字符串不超过x,并以一个完整的单词结尾
把一个字符串分成两个子字符串让我不知所措。第一个子串的长度不应超过35,且应以单词结尾。所以,如果35限制在单词中间,那么当这个单词开始时(比如32)就打断字符串。我指的是任何非空格字符的组合。单词被空格分隔。第二个子串可以是任意长度的,因此应该以单词的开头开始。字符串总是大于35并且没有图案。我如何实现它?提前谢谢
例如:
"Lordem ipsum dolor sit amet, $200 cons(35 chars until here)ectetur adipiscing elit, №22sed 70 % do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
这是一根很长的绳子。然后我需要进入字符串:"Lordem ipsum dolor sit amet, $200"
(少于35个,在单词结尾处结束),其余的放入一个大的独立子字符串中
# 1 楼答案
您可以使用以下方法来输入
35
以获得所需的结果# 2 楼答案
您可以使用StringTokenizer:
或者,如果您使用的是java 9或更高版本,并且想要尝试streams: