Come è possibile stampare solo alcuni caratteri di una stringa?

di Anonimizzato24912 il
3 risposte
Ad esempio ho le seguenti stringhe
ciao, clicca sul seguente link: http://esempio.co
cliccando su http://ciao.i potrai scoprire...

io voglio stampare tutti ciò che inizia per http:// o https:// fino al primo spazio, ottenendo in output (per quei due casi specifici):
http://esempio.co
http://ciao.i

con substring() io devo conoscere la posizione del primo ed ultimo carattere, ma in questo caso non è sempre la stessa. Come faccio? Con uno StringTokenizer mi sembra di usare la strada più lunga (tokenizzo usando il carattere spazio spazio e stampo la stringa che comincia con "htt"), esiste un modo più veloce?

grazie a tutti

3 Risposte

  • Tramite indexOf leggi la posizione di http e sempre tramite indexOf leggi la posizione del primo spazio dopo http, quindi usi substring
  • patel ha scritto:


    Tramite indexOf leggi la posizione di http e sempre tramite indexOf leggi la posizione del primo spazio dopo http, quindi usi substring
    Grazie mille
  • Oppure usando una RE:
    
    // Pattern for recognizing a URL, based off RFC 3986
    private static final Pattern urlPattern = Pattern.compile(
            "(?:^|[\\W])((ht|f)tp(s?):\\/\\/|www\\.)"
                    + "(([\\w\\-]+\\.){1,}?([\\w\\-.~]+\\/?)*"
                    + "[\\p{Alnum}.,%_=?&#\\-+()\\[\\]\\*$~@!:/{};']*)",
            Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
    
Devi accedere o registrarti per scrivere nel forum
3 risposte