从字符串中删除URL前缀(http:/,www等)

And*_*ewS 19 java string url android textview

我需要从我的String中删除所有类型的"web开头"

我的TextView必须没有"http://","http:// www." ,"www." 和其他URL前缀.

请你能帮助我吗?

Sim*_*mon 56

使用它的实例URI并使用它来分割你想要的:

URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/reference/android/net/Uri.html

  • 这应该是公认的答案. (12认同)
  • 警告:`getPath()` 遗漏了 Uri 的查询和片段部分 (4认同)
  • 代码似乎使用`java.net.URI`但你没有任何评论链接到`android.net.Uri`.这有点奇怪. (2认同)
  • 似乎不起作用。当地址中包含“http://”或“https://”时,URI 和 Uri“getPath()”都会返回空字符串。如果地址以“www.”开头,则“getPath()”也包含它。因此这不是正确的答案。 (2认同)

kin*_*ori 28

您可以使用正则表达式来完成此操作

"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
Run Code Online (Sandbox Code Playgroud)

  • 呃,这不是一个好主意,URL可能包含"www".别的地方.例如,"http://mywww.com"`. (6认同)
  • 正则表达式析取的顺序在这里很重要 - 它应该是`replaceFirst("^(http:// www \\.| http:// | www \\.)","")`用于`http: // www.案例. (3认同)

Tai*_*Dao 8

你可以使用String替换.

String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
Run Code Online (Sandbox Code Playgroud)

  • 与接受的答案相同的评论,"www."`可能出现在URL的其他地方,你应该只从头开始删除它. (3认同)