Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di cutoff
    Registrato dal
    Jan 2006
    Messaggi
    22

    [JAVA]Aiuto Regular Expression

    Ciao,

    sono alle prese con le regular expression, ma mi serve il vostro aiuto.

    Ho la seguente stringa :
    Questa e una, "Prova,di regularExpression", vlore=2, N= "Prova,7",C=2.

    Ora dovrei sostiuire il carattere della virgola con la &, MA SOLO se essa è presente
    tra le virgolette("Prova,di regularExpression" e "Prova,7").In pratica alla fine dovrei ottenere:

    Questa e' una, "Prova& di regularExpression", vlore=2, N= "Prova& 7",C=2.

    Ho provato con questo codice cosi come mi è stato consigliato in un precedente post,
    ma il risultato è stato negativo infatti ho ottenuto:

    Questa e' una,&,C=2

    Questo è il "codice" :

    import java.util.regex.*;
    import java.util.Hashtable;

    public class Prova
    {
    public static void main(String[] args)
    {
    String patternStr = "\".*,.*\"";
    String inputStr = "Questa e una, \"Prova,di regularExpression\", vlore=2, N= \"Prova,7\",C=2 ";
    System.out.println(inputStr);

    inputStr=inputStr.replaceAll(patternStr,"&");
    System.out.println(inputStr);

    }
    }

    Mi date cortesemente un'aiuto. :master:

    Grazie

    Nicola

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    una cosa un po laboriosa sarebbe isolare il contenuto tra le virogolette e poi effettuare la sostituzione.
    devi trovare la prima occorrenza delle virgolette e copi in una buova stringa quello che va da li in poi, poi su questa nuova stringa trovi di nuovo l'occorenza e salvi il tutto in una strigna dove potrai tranquillamente fare la sostituzione.

    le occorenze le trovi con il metodo indexof(string)

  3. #3
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Mi è venuto questo, non l'ho provato:

    codice:
    ...
    Pattern pat = Pattern.compile("\".*,.*\"");
    Matcher mat = pat.matcher("Questa e una, \"Prova,di regularExpression\", vlore=2, N= \"Prova,7\",C=2";
    
    while(mat.find()) {
    mat.group().replace(',', '&');
    }
    
    ...

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

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