Pagina 1 di 2 12 UltimoUltimo
Mostra risultati da 1 a 10 di 12
Like Tree2Mi piace

Discussione: Espressioni regolari

  1. #1
    L'avatar di iaia
    iaia non è in linea Senior Member CT
    Data registrazione
    Nov 2011
    Sesso
    Donna
    Messaggi
    21,269
    Grazie
    2,187
    Ringraziato 2,841 volte in 2,003 post

    Espressioni regolari

    Win 10, Libre office writer.
    Carissimi, scusate se ormai mi faccio viva solo per chiedere. E' che non ho nemmeno il tempo per cercare da sola.Poi le espressioni regolari io non le ho mai capite.
    Ho una colonna di date e ore. Tra la data e l'ora c'è una virgola.
    Vorrei sostituire la virgola con una tabulazione, in automatico, ma senza sostituire le virgole presenti nel testo. Quindi vorrei dire: cerca qualsiasi cifra, seguita da virgola, seguita da spazio, seguita da qualsiasi cifra
    Lascia la qualsiasi cifra iniziale e finale al loro posto
    Sostituisci virgola e spazio con una tabulazione.

    Esempio:
    8:36,30/4/2017
    =
    8:36 30/4/2017 (non si vede, ma qui c'è una tabulazione)
    Si può fare?

    Non posso trasformarlo in tabella, perché in questi documenti ci sono altre virgole tra le parole che seguono le date e mi farebbe decine di colonne a casaccio.
    Certo, potrei trasformare tutto in tabella in base alle tabulazioni, poi tagliare la colonna di date e ore, trasformarle a loro volta in tabella in base alla virgola e inserire le due nuove colonne al posto di quella precedente, ma mi sembra rischioso, se fosse possibile preferirei trasformare in tabulazione la virgola preceduta da una qualsiasi cifra (senza modificare la cifra)
    Grazie.

    p.s. Qual è la formula per cercare righe con meno di tot caratteri? Grazie.

    Ultima modifica di iaia; 08-05-17 alle 10: 54.

    Rispondi citando Rispondi citando Il mio PC

  2. # ADS
    Google Adsense Circuito Adsense
    Data registrazione
    da sempre
    Messaggi
    molti
     
  3. #2
    L'avatar di Andy86
    Andy86 non è in linea Senior Member CT
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    16,386
    Grazie
    4,685
    Ringraziato 2,449 volte in 2,077 post

    Riferimento: Espressioni regolari

    Tra la data e l'ora c'è una virgola.
    [...]
    Sostituisci virgola e spazio con una tabulazione.
    Deciditi. O virgola, o virgola e spazio.

    Comunque così potrebbe andare (se c'è lo spazio basta aggiungerlo):

    ([0-9]{1,2}:[0-9]{1,2}),([0-9]{1,2}/[0-9]{1,2}/[0-9]{4})

    Copiala tutta, parentesi comprese. Ho messo che prende i giorni/mesi/ore/minuti sia di una che di due cifre.

    Poi in sostituisci metti:

    $1\t$2

    In pratica usi i "gruppi" con le parentesi tonde, e gli dici di inserirli nella sostituzione con il dollaro. (\t sta per tabulazione).

    Se ci sono conflitti si può anche dirgli di verificare che sia ad inizio riga.

    Comunque provala, poi se mai aggiustiamo man mano.


    p.s. Qual è la formula per cercare righe con meno di tot caratteri? Grazie.
    Se ti accontenti di righe intere (tra ritorni a capo) così dovrebbe andare:

    ^[a-z]{0,max}$ errata corrige - vedi sotto

    Sostituisci il max con il numero di caratteri che ti interessa, puoi sostituire lo zero per indicare un minimo di caratteri.

    Il numero dopo la virgola può essere omesso {min,} in funzione di nessun limite, ma non è il tuo caso.
    Ultima modifica di Andy86; 09-05-17 alle 12: 49. Motivo: errata corrige
    «Nessuna quantità di esperimenti potrà dimostrare che ho ragione;
    un unico esperimento potrà dimostrare che ho sbagliato.
    » (A. Einstein)

    Rispondi citando Rispondi citando Il mio PC

  4. Il seguente utente concorda / ringrazia Andy86 per questo post

    iaia (09-05-17)

  5. #3
    L'avatar di iaia
    iaia non è in linea Senior Member CT
    Data registrazione
    Nov 2011
    Sesso
    Donna
    Messaggi
    21,269
    Grazie
    2,187
    Ringraziato 2,841 volte in 2,003 post

    Riferimento: Espressioni regolari


    Non ho ancora provato, ora non ho tempo, ma hai tutta la mia ammirazione.
    Quel documento l'ho già sistemato col sistema della tabella in due tempi. che dicevo di non fidarmi.
    E' andato bene, ma l'ho fatto io... la mia amica combinerebbe non so quanti casini. Una formula mi lascerebbe più tranquilla.

    La formula per righe corte funziona con maiuscole, minuscole, cifre e segni? (vedo che inizia con ^[a-z]) Non rispondere. Quando torno provo e lo vedo da me.

    Grazie!!

    Rispondi citando Rispondi citando Il mio PC

  6. #4
    L'avatar di Andy86
    Andy86 non è in linea Senior Member CT
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    16,386
    Grazie
    4,685
    Ringraziato 2,449 volte in 2,077 post

    Riferimento: Espressioni regolari



    Ecco, ho fatto la figura del sapientone. Ieri ero stanchissimo e mi sono sbagliato...

    Hai perfettamente ragione, se vuoi includere tutto (spazi compresi) si usa il "punto", per cui:

    ^.{0,max}$

    Ps: Giusto per la cronaca, se non barri la casella "ricerca esatta" non fa distinzione tra maiuscole e minuscole, ma in ogni caso, come hai intuito, con la precedente cercava solo i caratteri alfabetici.
    Ultima modifica di Andy86; 09-05-17 alle 12: 50. Motivo: Ps
    «Nessuna quantità di esperimenti potrà dimostrare che ho ragione;
    un unico esperimento potrà dimostrare che ho sbagliato.
    » (A. Einstein)

    Rispondi citando Rispondi citando Il mio PC

  7. #5
    L'avatar di iaia
    iaia non è in linea Senior Member CT
    Data registrazione
    Nov 2011
    Sesso
    Donna
    Messaggi
    21,269
    Grazie
    2,187
    Ringraziato 2,841 volte in 2,003 post

    Riferimento: Espressioni regolari

    Funziona tutto, grazie!

    E.... per migliorare la formula per le righe corte, cosa si può fare?
    Perchè comprenda anche gli spazi ho fatto così ^[a-z, ]{0,11}$
    1) perché trovi righe corte che inizino o contengano qualsiasi carattere: numeri, segni, parentesi, spazi, lettere... Ho aggiunto 0-9 ma non funziona ^[a-z, ,0-9]{0,11}$
    2) perché trovi anche le righe corte che finiscono con interruzione manuale di riga. Ho aggiunto \n ma non funziona. ^[a-z, ]{0,11}[\n,$]. Trova solo \n ma non $

    Grazie

    ---------- Post Unito alle 14: 31 ----------

    ^.{0,11}$ Questo trova lettere e numeri, ma non trova segni e spazi.

    Rispondi citando Rispondi citando Il mio PC

  8. #6
    L'avatar di Andy86
    Andy86 non è in linea Senior Member CT
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    16,386
    Grazie
    4,685
    Ringraziato 2,449 volte in 2,077 post

    Riferimento: Espressioni regolari

    Strano. A me funziona anche con le righe con spazi e punteggiatura. Il tuo libreoffice è aggiornato?

    Ho aggiunto 0-9 ma non funziona ^[a-z, ,0-9]{0,11}$
    Non l'avrei mai detto... ma a me funziona. (ma perché l'ho provato con una stringa corrispondente e non con il tuo testo... )

    Comunque non serve inserire due volte la virgola, anzi, puoi anche fare così:

    ^[0-z, ]{0,11}$

    edit: Però più che qualsiasi carattere hai inserito solo spazi e virgole. Altri segni di punteggiatura non li troverebbe.

    ^[a-z, ]{0,11}[\n,$]. Trova solo \n ma non $
    Intanto non ci vuole la virgola, a meno che tu non stia cercando pezzi di righe comprese tra virgole.

    Comunque il $ non lo accetta tra corrispondenze alternative. Ma puoi risolvere così:

    ^?\n?[a-z, ]{0,11}\n?$?

    in pratica il punto di domanda equivale a scrivere {0,1}, quindi il carattere può esserci (max 1 volta) o non esserci (min 0 volte).

    Ho messo il \n anche all'inizio perché le righe dopo il \n vengono interpretate come inizianti per \n e non per ^ (che sta per inizio paragrafo).
    Ultima modifica di Andy86; 09-05-17 alle 19: 47.
    iaia piace questo
    «Nessuna quantità di esperimenti potrà dimostrare che ho ragione;
    un unico esperimento potrà dimostrare che ho sbagliato.
    » (A. Einstein)

    Rispondi citando Rispondi citando Il mio PC

  9. Il seguente utente concorda / ringrazia Andy86 per questo post

    iaia (09-05-17)

  10. #7
    L'avatar di iaia
    iaia non è in linea Senior Member CT
    Data registrazione
    Nov 2011
    Sesso
    Donna
    Messaggi
    21,269
    Grazie
    2,187
    Ringraziato 2,841 volte in 2,003 post

    Riferimento: Espressioni regolari

    Citazione Originariamente scritto da Andy86 Vedi messaggio
    Strano. A me funziona anche con le righe con spazi e punteggiatura. Il tuo libreoffice è aggiornato?
    Versione: 5.3.2.2 (x64)
    Build ID: 6cd4f1ef626f15116896b1d8e1398b56da0d0ee1
    Thread CPU: 2; Versione SO: Windows 6.19; Resa interfaccia: predefinito; Motore layout: nuovo;
    Versione locale: it-IT (it_IT); Calc: group


    ^[0-z, ]{0,11}$
    La tua formula è giusta, non trova tutto ma ci deve essere qualcosa che non va nel testo. (perchè se inserisco a mano le stringhe non trovate, all'apparenza uguali, le mie le trova, le originali no). Quindi va bene così.



    ^?\n?[a-z, ]{0,11}\n?$?
    Questa non la capisco. Cosa dovrebbe fare? Provata sulla frase:
    Ancora.
    Luitremava ogni volta che doveva muoversi, non saltava il cavallo, acalcio le prendeva, usciva sempre con le ginocchia rotte e piangevacome se avesse cinque anni.
    Mi seleziona, in sequenza:
    Ancora
    (il punto non lo seleziona, nè da solo nè con altro. Lo salta)
    Luitremava
    ogni volta
    che doveva
    muoversi,
    non saltava
    il cavallo,
    acalcio
    le prendeva,
    usciva se
    mpre con le
    ginocchia
    rotte e pia
    ngevacome
    se avesse c
    inque anni.


    Curiosità: nel mio testo tra ogni parola c'era uno spazio. Ho fatto copia e incolla e alcuni spazi sono spariti. Chissà perché.
    Ultima modifica di iaia; 09-05-17 alle 21: 35.

    Rispondi citando Rispondi citando Il mio PC

  11. #8
    L'avatar di Andy86
    Andy86 non è in linea Senior Member CT
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    16,386
    Grazie
    4,685
    Ringraziato 2,449 volte in 2,077 post

    Riferimento: Espressioni regolari

    Cosa dovrebbe fare?
    Hai letto le ultime due righe oltre a citarle a sproposito?

    (il punto non lo seleziona, nè da solo nè con altro. Lo salta)
    Per forza, non c'è... te lo avevo detto sopra, nell'edit.

    con [a-z, ] sono compresi i caratteri dalla a alla z, la virgola e lo spazio.

    Nel tuo caso lo salta perché essendo compresa la virgola nella corrispondenza alternativa e stando i punti di domanda dopo \n e $ lui interpreta che la "parte" da trovare può finire per virgola... non so se mi spiego.
    «Nessuna quantità di esperimenti potrà dimostrare che ho ragione;
    un unico esperimento potrà dimostrare che ho sbagliato.
    » (A. Einstein)

    Rispondi citando Rispondi citando Il mio PC

  12. Il seguente utente concorda / ringrazia Andy86 per questo post

    iaia (09-05-17)

  13. #9
    L'avatar di iaia
    iaia non è in linea Senior Member CT
    Data registrazione
    Nov 2011
    Sesso
    Donna
    Messaggi
    21,269
    Grazie
    2,187
    Ringraziato 2,841 volte in 2,003 post

    Riferimento: Espressioni regolari

    Ma perché seleziona tutta la frase a pezzetti? Io voglio solo le righe corte.

    Rispondi citando Rispondi citando Il mio PC

  14. #10
    L'avatar di Andy86
    Andy86 non è in linea Senior Member CT
    Data registrazione
    Jan 2010
    Sesso
    Uomo
    Messaggi
    16,386
    Grazie
    4,685
    Ringraziato 2,449 volte in 2,077 post

    Riferimento: Espressioni regolari

    Il problema sono i due ritorni a capo, che non riesco a metterli come alternativa uno dell'altro.

    Impostati con il punto di domanda può anche voler dire che ci può non essere nessuno dei due, zero occorrenze di entrambe.

    Per cui come ho detto interpreta che la parte da trovare può finire per virgola o per spazio, quindi più parti trovate in una frase.

    Non so se riesco a spiegarmi.

    Ho trovato un'altra possibilità:

    ^.{1,11}$|\n.{1,11}\n|^.{1,11}\n|.{1,11}$

    Cioè usando le barre verticali per inserire più ricerche diverse tra loro, in pratica trova i risultati di tutte le ricerche.

    Però mi da qualche problema con le righe dopo gli a capo forzati, sembra non le trovi ne come inizio paragrafo, ne come inizio con \n, che in effetti ha senso, però non vorrei creasse dei conflitti con parti finali di altre frasi più lunghe. E c'è sempre il discorso del carattere punto, che pare non ti funzioni.

    Comunque prova un po'. Adesso vado a nanna. Se non ti funziona domani ci riprovo.

    Ultima modifica di Andy86; 09-05-17 alle 23: 02.
    iaia piace questo
    «Nessuna quantità di esperimenti potrà dimostrare che ho ragione;
    un unico esperimento potrà dimostrare che ho sbagliato.
    » (A. Einstein)

    Rispondi citando Rispondi citando Il mio PC

  15. Il seguente utente concorda / ringrazia Andy86 per questo post

    iaia (10-05-17)

Pagina 1 di 2 12 UltimoUltimo

Segnalibri

Regole di scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Cookies:direttiva 2009/136/CE (E-Privacy)

Il sito utilizza cookies propri e di terze parti per maggiori informazioni faq - Termini di servizio - Cookies
Il forum non puo' funzionare senza l'uso dei cookies pertanto l'uso della community è vincolato dall'accettazione degli stessi, nel caso contrario siete pregati di lasciare la community, proseguendo la navigazione acconsenti all’uso dei cookie