ho bisogno di rimuovere tutti i tipi di "inizi web" dal mio StringRimuovere Prefisso URL da String (http: /, www, ecc)
mio TextView deve essere senza "http: //", "http : // www. " , "www." e altri prefissi URL.
Per favore, puoi aiutarmi a questo?
ho bisogno di rimuovere tutti i tipi di "inizi web" dal mio StringRimuovere Prefisso URL da String (http: /, www, ecc)
mio TextView deve essere senza "http: //", "http : // www. " , "www." e altri prefissi URL.
Per favore, puoi aiutarmi a questo?
È possibile farlo usando un'espressione regolare
"www.aaa".replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)","")
Uh, questa non è una buona idea, l'URL potrebbe contenere "www." altrove. Ad esempio, '" http://mywww.com "'. – matiash
@matiash hai ragione. Ho risolto la mia risposta. Grazie. – kingori
L'ordinamento della disgiunzione regex conta qui - dovrebbe essere 'replaceFirst ("^(http: // www \\. | Http: // | www \\.) "," ")' Per lavorare per 'http : // caso – Josh
È possibile utilizzare il metodo String.replace().
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
è possibile utilizzare String sostituire.
String myString = "http://www.abc.com";
myString.replace("http://","").replace("http:// www.","").replace("www.","");
Lo stesso commento della risposta accettata, '" www. "' Potrebbe essere presente da qualche altra parte nell'URL, dovresti solo rimuoverlo dall'inizio. – matiash
Presumo che quando si dice "inizio web", si intende "protocolli". Puoi ottenere ulteriori informazioni sugli URL in RFC o wikipedia.
In generale, non è possibile rimuovere "www." da un URL e garantisce che l'URL punterà allo stesso host. Se tutto quello che vuoi è nasconderlo all'utente, va bene, ma personalmente lo trovo fastidioso.
Il seguente codice eliminerà tutti i protocolli di cui Java conosce e non solo http. Non tutti i protocolli hanno un //, quindi è necessario verificarlo manualmente. Lo Java URL class può suddividere l'URL esattamente come lo desideri.
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);
}
}
}
Utilizzare un'istanza di URI
e usarlo per dividere tuttavia si desidera:
URI uri = new URI(whateverYourAddressStringIs);
String path = uri.getPath(); // split whatever you need
non so no Android, ma non c'è qualcosa di simile a una funzione di sostituzione per stringa? Quindi potresti semplicemente sostituire quelle stringhe con una stringa vuota e il gioco è fatto ... –
L'uso di "inizi web" mi dice che potresti aver bisogno di imparare alcuni concetti fondamentali dello schema URI prima di intraprendere questo progetto. – Jules