Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    metodi replace e replaceall

    Mi è stato detto che questi metodi sono soggetti ad un baco..E' vero???
    Per sostituire in una stringa il punto con i due punti e poi i due punti senza spazio tra loro con i due punti con lo spazio tra loro posso utilizzare il seguente codice con la certezza che non andrò incontro a nessun baco?il codice è corretto?Grazie mille!

    stringa = stringa.replace('.', ':').replaceAll("::", ": :");

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: metodi replace e replaceall

    Originariamente inviato da lukeman83
    Mi è stato detto che questi metodi sono soggetti ad un baco..E' vero???
    Di quale "baco" stai parlando???

    Originariamente inviato da lukeman83
    Per sostituire in una stringa il punto con i due punti e poi i due punti senza spazio tra loro con i due punti con lo spazio tra loro posso utilizzare il seguente codice con la certezza che non andrò incontro a nessun baco?il codice è corretto?Grazie mille!

    stringa = stringa.replace('.', ':').replaceAll("::", ": :");
    Forse non hai capito la differenza tra replace() e replaceAll(). La seconda usa le "espressioni regolari", la prima no. Entrambe comunque cercano tutte le occorrenze di un "pattern" e lo sostituiscono.

    E visto che la tua necessità non richiede un pattern complesso perché deve solo cercare un carattere o una sequenza di caratteri ben precisa, si può fare semplicemente con replace (senza regex):

    stringa = stringa.replace('.', ':').replace("::", ": :");
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie mille...con il codice che ho scritto io invece quali effetti avevo?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lukeman83
    con il codice che ho scritto io invece quali effetti avevo?
    Esattamente lo stesso identico. Solo che se usi replaceAll() nel tuo caso sfrutti inutilmente il "motore" delle espressioni regolari perché in "::" il : non è un "metacarattere" delle regex .... si tratta quindi di una banale stringa di 2 normali caratteri, che puoi cercare anche più semplicemente con replace().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.