我有一个Java String
这样删除两个以上连续发生
String str="&P;&P;&P;&P;&P;&P;&P;&P;&P;&P;&P;&P; Tannay Mnadal &P;&P;&P;&P;&P;&P; Tata"
我想删除所有&P;
在连续发生的两成以上。
即。任何function(str)
,将返回"&P;&P;" Tannay Mnadal &P;&P; Tata
任何帮助将不胜感激。 感谢
我有一个Java String
这样删除两个以上连续发生
String str="&P;&P;&P;&P;&P;&P;&P;&P;&P;&P;&P;&P; Tannay Mnadal &P;&P;&P;&P;&P;&P; Tata"
我想删除所有&P;
在连续发生的两成以上。
即。任何function(str)
,将返回"&P;&P;" Tannay Mnadal &P;&P; Tata
任何帮助将不胜感激。 感谢
str = str.replaceAll("&P;&P;(&P;)+", "&P;&P;");
使用正则表达式与replaceAll()
喜欢的东西:
您可以尝试使用正则表达式替换:
public String function(String str)
{
return str.replaceAll("&P;&P;(&P;)+", "&P;&P;");
// I understood you wanted to keep two times "&P;"
}
+1。因为我必须只接受一个答案 – 2011-03-07 17:54:46
你可以实现你想要的正则表达式很容易:
public String removeOcurrences(String input) {
return input.replaceAll("(&P;&P;)(?:&P;)*", "$1");
}
希望它有帮助。
问候。
+1。因为我必须只接受一个答案 – 2011-03-07 17:53:58
@jzd:雅我发布后,我的整个网络都关闭了。刚刚从我的智能手机上修复它。尽管如此,我更喜欢范围操作员。 – 2011-03-07 16:44:44
@jzd:实际上它满足了三个或更多的要求(他说“超过两个”),但@Tanmay说他想删除所有**'&P;',其中有两个或更多,这就是我原本给了。但他的例子表明,他想除去两个**'&P;'以外的所有**。 – 2011-03-07 16:49:15
是的,我现在看到他的要求与他的例子不符。 – jzd 2011-03-07 17:05:23