Java 从字符串(http:/、www等)中删除URL前缀
我需要从我的字符串中删除所有类型的“web开始” 我的文本视图必须没有“http://”、“http://www.”、“www.”和其他URL前缀 你能帮我解释一下吗?你可以使用String.replace()方法Java 从字符串(http:/、www等)中删除URL前缀,java,android,string,url,textview,Java,Android,String,Url,Textview,我需要从我的字符串中删除所有类型的“web开始” 我的文本视图必须没有“http://”、“http://www.”、“www.”和其他URL前缀 你能帮我解释一下吗?你可以使用String.replace()方法 您可以通过使用正则表达式来实现这一点 "www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","") 可以使用字符串替换 String myString = "http://www.abc.com"; myS
您可以通过使用正则表达式来实现这一点
"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
可以使用字符串替换
String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
我想当你说“网络开始”时,你指的是“协议”。您可以在或中了解有关URL的更多信息 一般来说,您不能从URL中删除“www”,并保证URL将指向同一主机。如果你只想对用户隐藏它,那没关系,但我个人觉得这很烦人 下面的代码将剥离Java所知道的所有协议,而不仅仅是http。并非所有协议都有//,因此必须手动检查。用户可以根据需要精确地分解URL
import java.net.URL;
public class test
{
public static void main(String[] args)
{
try {
URL url = new URL(args[0]);
String protocol = url.getProtocol();
String result = args[0].replaceFirst(protocol + ":", "");
if (result.startsWith("//"))
{
result = result.substring(2);
}
System.out.println(result);
} catch (Exception e) {
System.out.println(e);
}
}
}
使用
URI
的一个实例,并使用它进行任意拆分:
URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
我不知道有没有android,但是有没有类似字符串替换函数的功能?然后你可以简单地用一个空字符串替换这些字符串,就是这样…你使用“web Beginings”告诉我,在开始这个项目之前,你可能需要学习一些URI方案的基础知识。与接受的答案相同,
“www.”
可能会出现在URL的其他地方,您应该只从一开始就删除它。这应该是可接受的答案。代码似乎正在使用java.net.URI
,但您链接到android.net.URI
,没有任何注释。这有点奇怪。正确的方法是:Uri-Uri=Uri.parse(“);似乎不起作用。当地址中包含http://
或https://
时,Uri和UrigetPath()
都返回空字符串。如果地址以www.
,getPath()开头
也包括它。因此,这不是正确的答案。警告:getPath()
省略了URI的查询和片段部分。正则表达式析取的顺序在这里很重要-它应该是replaceFirst(“^(http://www\\.| http://| www\\),“”)
为http://www.
case@Josh你说得对。我已经修正了我的答案。谢谢。@kingori,如果我们不确定url是否以http或https开头,该怎么办。由于问题是其他url前缀,因此需要将其更新为包含https。“www.aaa”。replaceFirst(“^(https://www\\.|http://www\\.| http://| https://| www\\),”;
@ishanthilinasomari很好。我在http中添加了(?>s)以处理https案例。