下面是我的字符串包含
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.
如何做到这一点请建议我。谢谢
我认为它可以在单个String#replaceAll(String regex, String replacement)
调用中替换:
String repl = s.replaceAll("\\?\\s*(.*?)(?=\\n|$)", "$1.");
更新:替换?
或项目符号:
String repl = s.replaceAll("[?•]\\s*(.*?)(?=\\n|$)", "$1.");
你可以不这样做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);
为什么要为此使用正则表达式?你真的不需要正则表达式。你可以尝试这样的事情
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);
}