Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da inc40
    ma non ottengo ciò che voglio, ossia ottenere link dove in str1 c'è la stringa 'una' e la stringa 'uNa'.
    Questo è ciò che ottengo:

    Questa è <a href>uNa</a> UnAStringa uNa

    Questo è ciò che vorrei ottenere:

    Questa è <a href>una</a> UnAStringa <a href>uNa</a>

    Scusa ma allora se vuoi fare dei replace, invece di usare il ciclo con find() non fai prima ad usare replaceAll() di Matcher??? (che è come il replaceAll() di String, solo che qui hai direttamente il Matcher).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #12
    Utente di HTML.it L'avatar di inc40
    Registrato dal
    Sep 2004
    Messaggi
    319
    Originariamente inviato da andbin
    Scusa ma allora se vuoi fare dei replace, invece di usare il ciclo con find() non fai prima ad usare replaceAll() di Matcher??? (che è come il replaceAll() di String, solo che qui hai direttamente il Matcher).
    Con replaceAll() perdo la formattazione che voglio...cioè ottengo qualcosa del tipo:

    Questa è <a href>una</a> UnAStringa <a href>una</a>

    invece di:

    Questa è <a href>una</a> UnAStringa <a href>uNa</a>



    Grazie ancora
    Gli uomini, non avendo potuto guarire la morte, la miseria, l'ignoranza, hanno risolto, per vivere felici, di non pensarci.

  3. #13
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da inc40
    Con replaceAll() perdo la formattazione che voglio...
    Ma no!!! Perché nella stringa di replace puoi usare una espressione particolare che è, detta in generale, $N dove N è un numero da 0 a 9 che indica un gruppo "catturato" (0 = l'intero pattern).
    Quindi puoi reinserire ciò che hai catturato così come è stato trovato!!!

    Ad esempio:

    codice:
    Pattern p = Pattern.compile ("ab", Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher ("hello Ab aB ciao");
    
    String s = m.replaceAll ("-$0-");    // s = "hello -Ab- -aB- ciao"
    Quindi la stringa di replace non è solo una "comune" stringa, ma ci sono 2 caratteri $ e \ (quest'ultimo per l'escape di $) che sono "speciali".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #14
    Utente di HTML.it L'avatar di inc40
    Registrato dal
    Sep 2004
    Messaggi
    319
    Originariamente inviato da andbin
    Ma no!!! Perché nella stringa di replace puoi usare una espressione particolare che è, detta in generale, $N dove N è un numero da 0 a 9 che indica un gruppo "catturato" (0 = l'intero pattern).
    Quindi puoi reinserire ciò che hai catturato così come è stato trovato!!!

    Ad esempio:

    codice:
    Pattern p = Pattern.compile ("ab", Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher ("hello Ab aB ciao");
    
    String s = m.replaceAll ("-$0-");    // s = "hello -Ab- -aB- ciao"
    Quindi la stringa di replace non è solo una "comune" stringa, ma ci sono 2 caratteri $ e \ (quest'ultimo per l'escape di $) che sono "speciali".
    andbin, scusa se ti rispondo solo adesso, grazie ancora, e i miei complimenti.

    Gli uomini, non avendo potuto guarire la morte, la miseria, l'ignoranza, hanno risolto, per vivere felici, di non pensarci.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.