Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di jubin
    Registrato dal
    Jan 2002
    Messaggi
    234

    Split di una parola in due se con maiuscola in mezzo o numeri

    Salve a tutti...
    so che il titolo lascia un po' a desiderare ma piu' di cosi' mi e' riuscito difficile carburare


    il problema e' questo: ho una stringa che esco da mysql ( ) dove, non sempre, mi puo' capitare di avere parole scritte nel seguente modo: "Ciao2" oppure "ComeVa". Ora a me cosa serve? Serve rendere le suddette stringhe in un formato piu' corretto, aggiungendo cioe' uno spazio prima della maiuscola, solo se preceduta da minuscola, oppure prima di un numero, sempre se preceduto da lettera minuscola. Potrei fare un replace ma non so se e' la cosa migliore... soprattutto e' un macello poi perche' un tale splittaggio mi serve solo nel caso in cui le parole siano collegate... le due parole di sopra dovrebbero in poche parole divenirmi "Ciao 2" oppure "Come Va"...
    grazie dell'attenzione,
    Jubin

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $stringa="CiaoComeVa? tutto7! 123";
    echo ltrim(preg_replace("/([a-z]{1})([A-Z]{1}|[0-9]{1})/","\\1 \\2",$stringa));
    questo potrebbe essere un inizio...
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di jubin
    Registrato dal
    Jan 2002
    Messaggi
    234
    Originariamente inviato da marketto
    codice:
    $stringa="CiaoComeVa?";
    echo ltrim(preg_replace("/([a-z]{1})([A-Z]{1})/","\\1 \\2",$stringa));
    questo potrebbe essere un inizio...
    grazie...
    mo vedo per i numeri, qualcosa dovrebbe uscirmi...
    :master:

    partendo si qui devo farcela...
    altrimenti vi scrivo

  4. #4
    Utente di HTML.it L'avatar di jubin
    Registrato dal
    Jan 2002
    Messaggi
    234

    venire viene

    ma c'e' un piccolo problemino: non mi tiene conto che la maiuscola e/o il numero siano preceduti da una lettera minuscola... cioe' se scrivo "CiaoCome Va" e al posto di uno spazio prima del "//" metto un
    mi manda accapo anke prima di "Va" e la cosa diventa particolarmente brutta da vedersi...

    :master:
    e li' con le precarie conoscienze che ho delle regexp da solo nn c so arrivare...
    m dai n'altra bella drittona cm prima?

    graaaaaaaassie...

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    Re: venire viene

    Originariamente inviato da jubin
    ma c'e' un piccolo problemino: non mi tiene conto che la maiuscola e/o il numero siano preceduti da una lettera minuscola...
    sicuro?? :master:

    codice:
    $stringa="CiaoComeVa? tutto7! 123";
    echo ltrim(preg_replace("/([a-z]{1})([A-Z]{1}|[0-9]{1})/","\\1 \\2",$stringa)); //Ciao Come Va? tutto 7! 123
    think simple think ringo

  6. #6
    Utente di HTML.it L'avatar di jubin
    Registrato dal
    Jan 2002
    Messaggi
    234

    no



    con il tuo va, evidentemente nel cagare la mia regexp avevo sbagliato qualcosa...
    per ora sembra funzionare egregiamente, complimentoni e tantissime grazie!!


    smuuaaaaaaack!!

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    Re: no

    Originariamente inviato da jubin


    con il tuo va, evidentemente nel cagare la mia regexp avevo sbagliato qualcosa...
    per ora sembra funzionare egregiamente, complimentoni e tantissime grazie!!


    smuuaaaaaaack!!
    cmq prendila con le pinze, ci sono diversi casi in cui non funziona
    think simple think ringo

  8. #8
    Utente di HTML.it L'avatar di jubin
    Registrato dal
    Jan 2002
    Messaggi
    234

    Re: Re: no

    Originariamente inviato da marketto
    cmq prendila con le pinze, ci sono diversi casi in cui non funziona

    ad es?
    a me sembra funzionare bene, poi per adattarla al mio caso specifico l'ho ampliata e corretta con altri replaces e simili... per ora sembra funzionare tutto correttamente...
    ora apro un'altra discussione k ho un altro problema, se ti va di farci un saltino poi quando hai tempo...



    ciao e grazie di tutto cmq,
    c s sente!

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.