我需要从我的String
中删除所有类型的“web开头”我的TextView必须没有“http://”,“http:// www。” ,“www。”和其他网址前缀。
请你能帮帮我吗?
答案 0 :(得分:51)
使用URI
的实例,并根据需要使用它进行拆分:
URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
答案 1 :(得分:27)
您可以使用正则表达式
来实现"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
答案 2 :(得分:8)
你可以使用String replace。
String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
答案 3 :(得分:3)
我认为当你说“网络开头”时,你的意思是“协议”。您可以在RFC或wikipedia中了解有关网址的详情。
一般来说,你不能删除“www。”从URL并保证URL将指向同一主机。如果您只想将其隐藏起来,那很好,但我个人觉得这很烦人。
以下代码将删除Java知道的所有协议,而不仅仅是http。并非所有协议都有//,因此您必须手动检查。 Java URL class可以根据需要精确地细分网址。
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);
}
}
}
答案 4 :(得分:1)
您可以使用String.replace()方法。
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html