web-dev-qa-db-fra.com

Supprimer le préfixe d'URL de String (http: /, www, etc.)

J'ai besoin de supprimer toutes sortes de "débuts Web" de ma chaîne

Mon TextView doit être sans "http: //", "http: // www." , "www." et d'autres préfixes d'URL.

S'il vous plaît pouvez-vous m'aider à cela?

17
AndrewS

Vous pouvez le faire en utilisant une expression régulière

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

Utilisez une instance de URI et utilisez-la pour diviser comme vous le souhaitez:

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

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

49
Simon

vous pouvez utiliser String remplacer.

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

Je suppose que lorsque vous dites "débuts sur le Web", vous voulez dire "protocoles". Vous pouvez en savoir plus sur les URL dans RFC ou wikipedia .

De manière générale, vous ne pouvez pas supprimer "www." depuis une URL et assurez-vous que l’URL pointe vers le même hôte. Si tout ce que vous voulez faire est de le cacher à l'utilisateur, c'est bien, mais personnellement, je trouve cela ennuyant.

Le code suivant supprimera tous les protocoles connus de Java, pas seulement http. Tous les protocoles n'ont pas un //, vous devez donc le vérifier manuellement. La classe URL Java peut décomposer l'URL aussi précisément que vous le souhaitez.

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

Vous pouvez utiliser la méthode String.replace ().

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

1
FOliveira