我有一组网址。其中一些字符串www
作为子字符串,其中一些没有。我需要删除每个URL中的前缀。
我尝试使用regexp的许多变体删除此前缀:
newStr = str.replaceAll("http://|http://www.", "");
newStr = str.replaceAll("^http://|http://www.$", "");
newStr = str.replaceAll("http://|http://www.", "");
其中str
- 是输入的URL字符串,newStr
是替换后的URL。
这些变体中的每一个仅替换http://
前缀,但www.
仍保留在结果中。我如何更改正则表达式以删除http://
字符串以及http://www.
字符串?
我知道我可以使用replaceAll()
两次:
newStr = str.replaceAll("http://", "").replaceAll("www.", "");
但是,如何保持一个 replaceAll()
并仅编辑 正则表达式?
答案 0 :(得分:2)
newStr = str.replaceFirst("^(http://)?(www\\.)?", "");
请注意,正则表达式中的.
表示您需要转义的任何内容,或者您将从wwwiscool.com
中删除前4个符号,您可能不希望如此。而且您可能只想替换第一个匹配的前缀。
答案 1 :(得分:1)
您可以使用str.replace
,例如:
String str = "http://www.google.com";
str.replace("http://","").replace("http:// www.","").replace("www.","");
的详细信息