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

时间:2013-05-21 15:21:33

标签: java android string url textview

我需要从我的String

中删除所有类型的“web开头”

我的TextView必须没有“http://”,“http:// www。” ,“www。”和其他网址前缀。

请你能帮帮我吗?

5 个答案:

答案 0 :(得分:51)

使用URI的实例,并根据需要使用它进行拆分:

URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need

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

答案 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)

我认为当你说“网络开头”时,你的意思是“协议”。您可以在RFCwikipedia中了解有关网址的详情。

一般来说,你不能删除“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