Ich muss alle Arten von "Webanfängen" aus meinem String entfernen
Mein TextView muss ohne "http: //", "http: // www." "www." und andere URL-Präfixe.
Kannst du mir dabei helfen?
Sie können das tun, indem Sie regulären Ausdruck verwenden
"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
Verwenden Sie eine Instanz von URI
und verwenden Sie sie zum Teilen, wie Sie möchten:
URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
sie können String ersetzen.
String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
Ich gehe davon aus, dass Sie "Protokolle" meinen, wenn Sie "Webanfänge" sagen. Weitere Informationen zu URLs finden Sie in RFC oder wikipedia .
Im Allgemeinen können Sie "www." Nicht entfernen. von einer URL und garantieren, dass die URL auf denselben Host verweist. Wenn Sie es nur vor dem Benutzer verbergen möchten, ist das in Ordnung, aber ich persönlich finde das nervig.
Im folgenden Code werden alle Protokolle entfernt, die Java kennt, nicht nur http. Nicht alle Protokolle haben ein //, also müssen Sie das manuell überprüfen. Die Java URL-Klasse kann die URL so genau wie gewünscht aufteilen.
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);
}
}
}
Sie können die String.replace () -Methode verwenden.
http://docs.Oracle.com/javase/6/docs/api/Java/lang/String.html