Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174

    Problema con split di una stringa

    Ciao a tutti. Ho ad esempio la seguente stringa
    codice:
    0:Pippo1:Minnie e Topolino
    e voglio separarla per ottenere le seguenti due stringhe
    codice:
    0:Pippo
    1:Minnie e Topolino
    ho pensato di usare la split ma dovrei fornire un'espressione regolare affinchè mi vengano distinti le cifre e i due punti. Non ho mai avuto a che fare con qst metodo e dalle API non ho tratto granchè. Mi dareste gentilmente una mano? Grazie

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

    Re: Problema con split di una stringa

    Originariamente inviato da Hermiod
    ho pensato di usare la split ma dovrei fornire un'espressione regolare affinchè mi vengano distinti le cifre e i due punti.
    Non ti conviene usare split(), perché dovresti specificare un pattern di "separatore" che poi non ti viene restituito. Cioè non te lo ritrovi ... se usassi split("\\d+:") le stringhe restituite non contengono il separatore!

    Ti conviene usare le classi Pattern/Matcher e cercare le singole occorrenze di un pattern con find(). Codice (da mettere anche import java.util.regex.*

    codice:
    String s = "0:Pippo1:Minnie e Topolino";
    
    Pattern p = Pattern.compile("\\d+:[^\\d]+");
    Matcher m = p.matcher(s);
    
    while (m.find()) {
        System.out.println(m.group());
    }
    Il pattern è semplice: uno o più digit, cui segue un ':', cui seguono uno o più caratteri che però non siano digit. (questo serve per far terminare il pattern prima del digit successivo).

    Se nella seconda parte ci devono essere dei digit, si può ancora fare ma bisogna complicare un pochino il pattern.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    174
    Perfetto, grazie mille andbin. Non ho ancora previsto che ci siano dei digit anche nella seconda parte, ma se cambio idea seguirò il tuo consiglio. Grazie ancora e a presto.

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.