2009-03-11 5 views
1

Ich brauche umwandeln zu können:URL und Namespaces java convertion

(url) http://www.joe90.com/showroom 

zu

(namespace) com.joe90.showroom 

ich etc dies mit Token tun können, und eine erzwungene Regelsatz.

Aber gibt es einen Weg (ein Java-Paket), der das für mich tun wird? oder muss ich selbst schreiben?

Dank

Antwort

2
java.net.URL url = new java.net.URL("http://www.joe90.com/showroom"); 
String tokens[] = url.getHostname().split("."); 
StringBuilder sb = new StringBuilder(); 
for (int i=0; i<tokens.length; i++) { 
    if (i > 1) { 
    sb.append('.'); 
    } 
    sb.append(tokens[i]); 
} 
String namespace = sb.toString(); 

Alternativ können Sie den Hostnamen parsen.

Pattern p = Pattern.compile("^(\\w+://)?(.*?)/"); 
Matcher m = p.matcher(url); // string 
if (m.matches()) { 
    String tokens[] = m.group(2).split("."); 
    // etc 
} 

Natürlich, die alle URLs nicht übereinstimmt regex, zum Beispiel:

http://[email protected]/... 

Deshalb habe ich mit java.net.URL vorgeschlagen: es macht die ganze URL-Validierung und für Sie das Parsen.

+0

Was ist mit der -1? –

+0

nicht vor dem ersten Eintrag die .. – joe90

1

Ihre beste Wette wäre, um die Zeichenfolge zu spalten, basierend auf den . und / Zeichen (zB Sting.split() verwenden und dann die Stücke in umgekehrter Reihenfolge verketten, über das Überspringen jeden Sie wollen

nicht enthalten (zB www)