Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #3
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    La regex che passi come argomento a split è per matchare i separatori (che quindi poi spariscono, non ci sono più nel String[] ottenuto) .... non il pattern di cosa vuoi ottenere.

    Quindi quali sono i separatori? Quale è la forma generale di quella espressione?
    Ciao,
    intanto grazie per l'attenzione che hai prestato al mio problema.
    Una premessa che non ho fatto è che non sono alle prime armi di java, ma non mi considero nemmeno un programmatore esperto.
    Cercherò comunque di risponderti, sperando di aver capito bene quello che mi chiedi.

    La forma generale della mia espressione è la presenza di più triplette racchiuse tra apici, separate da virgola e a loro volta racchiuse tra parentesi quadre. L'espressione può contenere N triplette e tra di loro sono separate da operatori matematici )(+*/-.
    esempi di possibili espressioni
    ['A1','B1','C1']+['A2','B2','C2']
    o
    ['A1','B1','C1']+['A2','B2','C2']*(['A3','B3','C3']-['A2','B2','C2'])
    ...

    In realtà in base a quello che mi chiedi non penso di avere un vero e proprio separatore che si ripete sempre, eccetto le quadre di apertura e chiusura tripletta. Di tutto il resto non me ne faccio nulla.

    Alla fine vorrei ottenere un array che contiene le stringhe delle triplette.

    Ottengo qualcosa di meglio con questo codice, anche se non mi sembra troppo "corretto":
    codice:
        public static void main(String[] args) {        // TODO code application logic here
            String reg;
            String expression = "['0000000013','THUS|ETER','VALU']/(['0000000012','FPOD|VHFU','VALU']*['0000000137','PCO','GAS1'])";
            reg = "[()-+*/]";
            expression = expression.replaceAll(reg, "");
            reg = "[\\[.*?\\]]";
            
            String[] aExt =  expression.split(reg);
            for (int i = 0; i < aExt.length; i++) {
                System.out.println("Tripletta: "+ aExt[i]);
            }
            
        }
    e comunque l'array di risultato finale contiene dei valori vuoti:
    codice:
    Tripletta:
    Tripletta: '0000000013','THUS|ETER','VALU'
    Tripletta: 
    Tripletta: '0000000012','FPOD|VHFU','VALU'
    Tripletta: 
    Tripletta: '0000000137','PCO','GAS1'
    Grazie ancora
    Ultima modifica di pikiuz; 30-07-2015 a 16:32

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.