0

下面是我的字符串包含

The course are:
? This is sample php program
? This is sample java program

如何编写用于删除的正则表达式?句尾加上 pullstop(.)

所需输出:

The course are:
This is sample php program.
This is sample java program.

如何做到这一点请建议我。谢谢

4

3 回答 3

1

我认为它可以在单个String#replaceAll(String regex, String replacement)调用中替换:

String repl = s.replaceAll("\\?\\s*(.*?)(?=\\n|$)", "$1.");

现场演示:http: //ideone.com/M1bJwB

更新:替换?或项目符号:

String repl = s.replaceAll("[?•]\\s*(.*?)(?=\\n|$)", "$1.");
于 2013-08-14T10:17:12.170 回答
0

你可以不这样做regex

String str = "? This is sample php program";
Pattern p = Pattern.compile("\\? ");
Matcher m = p.matcher(str);
if(m.find())
{   
    str = m.replaceFirst("");
    str = str+".";
}
System.out.println(str);
于 2013-08-14T09:36:12.073 回答
0

为什么要为此使用正则表达式?你真的不需要正则表达式。你可以尝试这样的事情

   String str = "? This is sample php program";
    if(str.startsWith("?")){
        String newStr = str.substring(str.indexOf("?")+1, str.length()).trim() + ".";
        System.out.println(newStr);  
    } else{
        System.out.println(str);
    }
于 2013-08-14T09:32:47.477 回答