我正在尝试从String中删除句号。我试过下面的
titleAndBodyContainer = titleAndBodyContainer.replaceAll("\\.", " ");
不幸的是,这也消除了所有其他'点'。我的段落包括 2014年1月13日 等日期, 美国 等字词以及 2.2 即可。如何只删除句号?
答案 0 :(得分:1)
我会这样做:
titleAndBodyContainer = titleAndBodyContainer.replaceAll("\\.(?=\\s|$)", " ");
答案 1 :(得分:0)
您可以检查space
之后是否有newline
或.
。
您可以使用正则表达式:(\.(?=[\s\n\r]|$))
代码:
String input = "Unfortunately, this removed all other 'dots' as well. My paragraph includes dates like Jan.13, 2014 , words like U.S and numbers like 2.2. How can I remove only the full stops?\n"+"Somthing is there.\n"+"Hello someone . What is this something ? ";
String REGEX = "(\\.(?=[\\s\\n\\r]|$))";
String x=input.replaceAll(REGEX, " ");
<强>输出强>
Unfortunately, this removed all other 'dots' as well My paragraph includes dates like Jan.13, 2014 , words like U.S and numbers like 2.2 How can I remove only the full stops?
Somthing is there
Hello someone What is this something ?
<强> DEMO 强>
答案 2 :(得分:0)
如果您的字符串(句子)在语法上是正确的,即句号后面的句子以大写字母开头,我认为您可以创建一个自定义方法来检查这样的句号,如果在句号之后有一个首字母大写的字符串。