Java在一段时间之前和之后替换正则表达式

时间:2014-02-24 07:27:40

标签: java regex

我在Android应用程序上使用XML,有时会使句子相互碰撞。

赞:First sentence.Another sentence

我知道我需要使用[a-z](小写字母),[A-Z](大写字母)和所有数字([0-9]?)来搜索句点之前和之后,然后添加一段时间后的空间。

可能是这样的:

myString = myString.replaceAll("(\\p{Ll})(\\p{Lu})", "$1 $2");

到目前为止,我的搜索和努力一直没用,所以欢迎任何和所有的帮助。感谢

1 个答案:

答案 0 :(得分:3)

你几乎就在那里,你只是忘了匹配点:

myString = myString.replaceAll("(\\p{Ll})\\.(\\p{Lu})", "$1. $2");

由于你实际上没有对点之前和之后的字母做任何事情,你可以使用lookaround assertions来加快速度:

myString = myString.replaceAll("(?<=\\p{Ll})\\.(?=\\p{Lu})", ". ");