Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [JAVA] replace

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    42

    [JAVA] replace

    Ciao. Avrei l'esigenza di eseguire in java una funzione di replace che ragioni, per capirci, come il LIKE di SQL.
    Per esempio:

    "xxxblablablayyy" deve diventare "xxxyyy"
    così come
    "xxxlalalalalalalalalayyy" deve diventare "xxxyyy"
    e così via...

    Sapete aiutarmi?

    grazie

  2. #2
    Puoi usare le espressioni regolari. Ma cmq occorrerebbe sapere se la sottostringa da rimuovere è nota a priori oppure devi eliminare delle sottostringhe che rispettano un certo formato (pattern)
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    42
    il problema è proprio quello... che devo sostituire (e quindi precedentemente individuare) una stringa formata da:
    [una parte fissa] + [qualsiasi carattere (%, per intenderci)] + [una parte fissa]

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

    Re: [JAVA] replace

    Originariamente inviato da MAXIM 21
    "xxxblablablayyy" deve diventare "xxxyyy"
    così come
    "xxxlalalalalalalalalayyy" deve diventare "xxxyyy"
    e così via...
    String str2 = str1.replaceAll("xxx.*?yyy", "xxxyyy");
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    42
    Intanto grazie 1000

    Poi chissà che non riusciate ad aiutarmi a risolvere questo inconveniente:
    in pratica ho delle parentesi nella stringa che interferiscono...

    es:
    String str = "xxx(blablablablablabla);".replaceAll( "(.*?);" , ";" );

    vorrei che str diventasse "xxx;" e invece diventa ";"

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da MAXIM 21
    in pratica ho delle parentesi nella stringa che interferiscono...
    Le parentesi tonde sono caratteri speciali nelle espressioni regolari (servono a definire un "gruppo"). Quindi va fatto l'escape e ancora l'escape se in una stringa literal.

    "\\(.*?\\);"
    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.