[英]How to split Java String but preserve part of its' content?
我正在研究java字符串拆分。 我希望根据“ .uppercase”(“ .
”和“ uppercase”之间有一个空格)分割字符串,例如:
". A" ". B" ". C"...
另外,我希望保留“。” 还有“大写字母”,有没有有效的方法呢? 我用
String.split("\\.\\s")
之前,但是它将删除“。” 我用。 因此,这不是理想的解决方案。 谢谢
样品结果
String = This is an Egg. This is a dog. "I just come up with this example"
String[0] = This is an Egg.
String[1] = This is a dog. "I just come up with this example"
更多编辑:
有一个问题,通常的方法似乎会将定界符保留在它的一个字符串中。 但我希望在某种意义上拆分定界符。(在我的示例中,“。[AZ]”也已拆分)
您可以使用环顾四周 :
str.split("(?<=\\.\\s+)(?=\p{Lu})")
这会将"First sentence. Foo bar. test"
拆分为数组
{ "First sentence. ",
"Foo bar. test" }
如果您不希望包含该空间,则将其放在环视断言之间:
str.split("(?<=\\.)\\s+(?=\p{Lu}")
这将导致
{ "First sentence.",
"Foo bar. test" }
对于上面的示例字符串。
干得好:
使用str.replaceAll(". ",".##");
str.replaceAll(".",".##");
然后使用String.split("##")
这将为您提供所需的字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.