Java 正则表达式 URL 前缀删除
Java regex URL prefix removal
我有一组 URL。其中一些有一个字符串 www
作为子字符串,而有些则没有。我需要删除每个 URL 中的前缀。
我尝试使用正则表达式的许多变体删除此前缀:
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()
并仅编辑 正则表达式?
您可以使用 str.replace
,例如:
String str = "http://www.google.com";
str.replace("http://","").replace("http:// www.","").replace("www.","");
的更多信息
newStr = str.replaceFirst("^(http://)?(www\.)?", "");
请注意,正则表达式中的 .
表示任何含义,因此您需要将其转义,否则您将从 wwwiscool.com
中删除前 4 个符号,而您可能不希望这样。您可能只想替换第一个匹配的前缀。
我有一组 URL。其中一些有一个字符串 www
作为子字符串,而有些则没有。我需要删除每个 URL 中的前缀。
我尝试使用正则表达式的许多变体删除此前缀:
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()
并仅编辑 正则表达式?
您可以使用 str.replace
,例如:
String str = "http://www.google.com";
str.replace("http://","").replace("http:// www.","").replace("www.","");
的更多信息
newStr = str.replaceFirst("^(http://)?(www\.)?", "");
请注意,正则表达式中的 .
表示任何含义,因此您需要将其转义,否则您将从 wwwiscool.com
中删除前 4 个符号,而您可能不希望这样。您可能只想替换第一个匹配的前缀。