Avrei bisogno alcuni chiarimenti sull'utilizzo delle espressioni regolari, tramite il metodo split in java.
Ho un file di prova con due campi, entrambi delimitati dalle virgolette.
Vorrei estrarre da ogni riga i due campi, ma non riesco a gestire correttamente l'espressione regolare.
Riporto il frammento di codice:
try(BufferedReader in=new BufferedReader(new FileReader("Prova.txt")))
{
in.lines().map(l ->l.split("\"([^\"]*)\"|\\s*"))
.forEach(item ->{
try{
p.add(new Prova(item[0],Integer.parseInt(item[1])));
}
catch (PatternSyntaxException e){
System.err.println("Espresssione regolare non corretta");}
catch(ArrayIndexOutOfBoundsException e){
System.err.println("elemento mancante");
}
});
}
Per favore, mi potreste dire come gestire questa casistica ed eventualmente come poter gestire il metodo split qualora dovessi modificare o aggiungere dei delimitatori ai campi?
Ringrazio anticipatamente.
Ho un file di prova con due campi, entrambi delimitati dalle virgolette.
Vorrei estrarre da ogni riga i due campi, ma non riesco a gestire correttamente l'espressione regolare.
Riporto il frammento di codice:
try(BufferedReader in=new BufferedReader(new FileReader("Prova.txt")))
{
in.lines().map(l ->l.split("\"([^\"]*)\"|\\s*"))
.forEach(item ->{
try{
p.add(new Prova(item[0],Integer.parseInt(item[1])));
}
catch (PatternSyntaxException e){
System.err.println("Espresssione regolare non corretta");}
catch(ArrayIndexOutOfBoundsException e){
System.err.println("elemento mancante");
}
});
}
Per favore, mi potreste dire come gestire questa casistica ed eventualmente come poter gestire il metodo split qualora dovessi modificare o aggiungere dei delimitatori ai campi?
Ringrazio anticipatamente.