【发布时间】:2018-11-07 21:15:05
【问题描述】:
我在我的 Android 应用程序中处理了几个句子。在每个句子的末尾,我需要添加一个额外的空格。我在下面试过了。
bodyText=body.replaceAll("\\.",". ");
这确实有效,直到我在句子之间找到dots。例如,如果有一个带有十进制数字的句子,那么上面的代码也会在该数字上添加一个空格。检查下面的示例,我在其中应用了上面的代码,但它没有按预期工作。
Last year the overall pass percentage was 90. 95%. It was 96. 21% in 2016.
您可以看到小数位是如何用空格分隔的。
如何只在句尾加空格?通常每个句子的结尾都会包含一个句号。
【问题讨论】:
-
指定一个“句尾”。缩写后也可能有点,例如
Mr. Smith、Dr. Brown等 -
您的所有陈述都与点 (.) 相符?
-
@WiktorStribiżew:句子的结尾。在上面我给出的例子中,第一句是
Last year the overall pass percentage was 90. 95%.第二句是It was 96. 21% in 2016.。通常以句号结束。 -
@LearningAlways:通常以句号结束。是的。否则无论如何我们都看不到结局。
-
正则表达式找不到句尾。它可以在字符串中找到一个特殊的模式。例如,在特定字符/字符序列之前/之后的点。为了将点限定为句末,您要检查什么上下文?请提供图案的综合规格。否则,这不是正则表达式的任务,而是 NLP 库的任务。