Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在一段时间前后替换正则表达式_Java_Regex - Fatal编程技术网

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

Java在一段时间前后替换正则表达式,java,regex,Java,Regex,我正在android应用程序上使用XML,有时会让句子相互碰撞 比如:第一句。另一句 我知道我需要使用[a-z](小写字母)、[a-z](大写字母)和所有数字([0-9]?)在句点前后搜索,然后在句点后添加空格 可能是这样的: myString = myString.replaceAll("(\\p{Ll})(\\p{Lu})", "$1 $2"); 到目前为止,我的搜索和努力都是徒劳的,所以欢迎任何和所有的帮助。谢谢你就快到了,只是忘了匹配圆点: myString = myString.re

我正在android应用程序上使用XML,有时会让句子相互碰撞

比如:
第一句。另一句

我知道我需要使用
[a-z]
(小写字母)、
[a-z]
(大写字母)和所有数字(
[0-9]?
)在句点前后搜索,然后在句点后添加空格

可能是这样的:

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

到目前为止,我的搜索和努力都是徒劳的,所以欢迎任何和所有的帮助。谢谢

你就快到了,只是忘了匹配圆点:

myString = myString.replaceAll("(\\p{Ll})\\.(\\p{Lu})", "$1. $2");
由于你实际上没有在点之前和之后对字母做任何处理,你可以通过使用:


myString=myString.replaceAll(“(?你能想出一个比
更好的标题吗?我找不到这个regex
?你的标题听起来像。永远不要用regex解析XML。XML不是一种常规语言。请改用著名的XML解析器。请看这个问题:在我编辑XML时,它已经是一个格式良好的字符串了。这些句子在什么时候被粘住了以太没有空格?XML本身是否有连接不正确的句子,它们之间没有空格或标记?当然,现在我们在用句点书写的首字母缩略词中添加了额外的空格。我们可以尝试判断我们是否在查看首字母缩略词,但随后会遇到更多的边缘情况。自然语言更正很混乱。是的,但这仍然是错误的我承认在句号前后可能是数字、小写字母或大写字母。我知道这是一件很麻烦的事情,需要编辑…但是这些情况很少,我想如果你也想在大写字母和数字后替换点,只需使用
[\\p{L}\\d]
而不是
\\p{Ll}
,但是你也可以用
C.I.A.
替换
C.I.A.
@TimPietzcker:没有看到lookarounds是特别的小写和大写。这意味着我们缺少了不同的奇怪的边缘情况,但是C.I.A.目前还可以。
myString = myString.replaceAll("(?<=\\p{Ll})\\.(?=\\p{Lu})", ". ");