正则表达式从子弹文本中删除句号

时间:2014-10-09 10:40:55

标签: regex

我真的很难弄清楚如何从以下内容中删除句号:

• this is a test bullet.<br>
• this is a test bullet 2.<br>
• this is a test bullet 3.<br>

它只需要从子弹中删除句号,因为其他段落包含句号和中断返回。

对此有任何帮助吗?

输出需要看起来像:

• this is a test bullet<br>
• this is a test bullet 2<br>
• this is a test bullet 3<br>

3 个答案:

答案 0 :(得分:0)

考虑到我们应该能够使用子弹角色,简单如下:

查找:(•.*)\.(.*)

替换为:$1$2

答案 1 :(得分:0)

你可以在String对象上使用replaceAll方法,如下所示:

String values = "• this is a test bullet.<br>\n" +
                  "• this is a test bullet 2.<br>\n" +
                  "• this is a test bullet 3.<br>";

values = values.replaceAll("(?i)\\.(?=<br>)", "");

// result:
// • this is a test bullet<br>
// • this is a test bullet 2<br>
// • this is a test bullet 3<br>

它将删除<br>标记前面的所有句号,并且不区分大小写。

正则表达式的解释:

使模式不区分大小写:

(?i)

查找句号(。):

\\.

预览<br>代码:

(?=<br>)

答案 2 :(得分:-1)

正则表达式:

^(\s*•.*)\.$

替换字符串:

$1

OR

正则表达式:

^\s*•.*\K\.$

替换字符串:

Empty string

DEMO