web-dev-qa-db-ja.com

文字列からURLプレフィックスを削除(http:/、wwwなど)

文字列からあらゆる種類の「ウェブの始まり」を削除する必要があります

私のTextViewは、「http://」、「http:// www」なしである必要があります。 、「www。」およびその他のURLプレフィックス。

これを手伝ってもらえますか?

19
AndrewS

あなたは正規表現を使用してそれを行うことができます

"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
27
kingori

URIのインスタンスを使用し、それを使用して必要に応じて分割します。

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

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

54
Simon

string replaceを使用できます。

String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
8
Tai Dao

「ウェブの始まり」と言うときは、「プロトコル」を意味すると思います。 URLの詳細については、 [〜#〜] rfc [〜#〜] または wikipedia をご覧ください。

一般的に、「www」は削除できません。 URLから取得し、URLが同じホストを指すことを保証します。ユーザーからそれを隠したいだけなら大丈夫ですが、個人的には迷惑です。

次のコードは、httpだけでなく、Javaが知っているすべてのプロトコルを削除します。すべてのプロトコルに//があるわけではないため、手動で確認する必要があります。 Java URLクラス は、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);
        }
    }
}
3
Jerome

String.replace()メソッドを使用できます。

http://docs.Oracle.com/javase/6/docs/api/Java/lang/String.html

1
FOliveira