Aiuto RE o consigli

di il
4 risposte

Aiuto RE o consigli

Ciao a tutti,

devo fare delle statistiche su dati provenienti da un DB mongo. I dati riguardano l'utilizzo o meno di strumenti di analisi.
Dovrei contare quanti giorni per ogni mese vengono utilizzati gli strumenti e quanti no.
Il mio problema nasce dal fatto che quando gli strumenti non vengono utilizzati, il campo non è sempre nullo.

Dovrei discriminare i seguenti casi:

- presenza della sola stringa N2 (non utilizzato)
- presenza della sola stringa He (non utilizzato)
- presenza della combinazione di N2 / He o He / N2 (non utilizzato)
- non presenza delle suddette stringhe ma di altro (utilizzato) p.e. Mario Rossi (siero) oppure Mario Rossi / Beppe
- presenza delle suddette stringhe e qualcos'altro (utilizzato) p.e. N2 / Mario Rossi oppure He / Mario Rossi oppure N2 / He / Mario Rossi

Mi potete suggerire un modo per estrarre questi dati?
Avevo pensato a delle regular expression (eventualmente anche all'interno del db stesso), ma non so da che parte rifarmi.

Grazie

4 Risposte

  • Re: Aiuto RE o consigli

    morellik ha scritto:


    - presenza della sola stringa N2 (non utilizzato)
    - presenza della sola stringa He (non utilizzato)
    - presenza della combinazione di N2 / He o He / N2 (non utilizzato)
    - non presenza delle suddette stringhe ma di altro (utilizzato) p.e. Mario Rossi (siero) oppure Mario Rossi / Beppe
    - presenza delle suddette stringhe e qualcos'altro (utilizzato) p.e. N2 / Mario Rossi oppure He / Mario Rossi oppure N2 / He / Mario Rossi

    Mi potete suggerire un modo per estrarre questi dati?
    Se hai questa varietà di forme/casi nella stringa E c'è comunque sempre un separatore ben noto (" / "), la cosa più semplice ed immediata è "spezzare" attorno a questo separatore, poi esamini le singole parti (se/come necessario).
    Quindi basta uno split(). Se lo devi ripetere tante volte, NON usare lo split() di String ma precompila la regex, poi usi lo split() di Pattern.
  • Re: Aiuto RE o consigli

    Grazie...non sempre c'è il separatore /. Vedrò di fare una statistica per essere sicuro che venga sempre usato, nel qual caso la cosa è semplice.

    Altrimenti avevo pensato anche a usare un replace per sostituire alle occorrenze N2 e He il nulla per poi controllare la lunghezza di ciò che è rimasto.
  • Re: Aiuto RE o consigli

    morellik ha scritto:


    Grazie...non sempre c'è il separatore /.
    Quindi potrebbe esserci "N2 / He" oppure "N2 He" e "He / Mario Rossi" oppure "He Mario Rossi" ? Così è sicuramente più complicato (ma non impossibile).

    morellik ha scritto:


    Altrimenti avevo pensato anche a usare un replace per sostituire alle occorrenze N2 e He il nulla per poi controllare la lunghezza di ciò che è rimasto.
    Non posso avere ovviamente ben chiaro tutto il concetto ma se N2 e He sono per te "inutili", certamente si possono anche levare per avere solo il resto.
  • Re: Aiuto RE o consigli

    andbin ha scritto:


    morellik ha scritto:


    Grazie...non sempre c'è il separatore /.
    Quindi potrebbe esserci "N2 / He" oppure "N2 He" e "He / Mario Rossi" oppure "He Mario Rossi" ? Così è sicuramente più complicato (ma non impossibile).
    Diciamo che i dati sono inseriti a mano, per cui puo' scappare un separatore. E nelle statistiche vorrei essere il più preciso possibile.

    morellik ha scritto:


    Altrimenti avevo pensato anche a usare un replace per sostituire alle occorrenze N2 e He il nulla per poi controllare la lunghezza di ciò che è rimasto.
    Non posso avere ovviamente ben chiaro tutto il concetto ma se N2 e He sono per te "inutili", certamente si possono anche levare per avere solo il resto.
    Sì. Se il giorno contiene solo N2 o He o una combinazione dei due, lo strumento non viene contato come utilizzato.
Devi accedere o registrarti per scrivere nel forum
4 risposte