Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579

    Accorciare i caratteri uguali

    Vorrei creare una function che controlla il testo inserito e se vede che c'è una parola con troppi (>10 esempio) caratteri uguali me la accorcia a 5.

    Esempio:

    Se trova il seguente testo:

    Ciao come va? Non vedo l'ora di rivederti!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


    Diventerà:

    Ciao come va? Non vedo l'ora di rivederti!!!!!

  2. #2
    Crea una funzione che ti controlli ogni singola leggera (o se vuoi porzione) e che confronti la lettera successiva con la precedente.

    Se uguali tieni una variabile di conteggio e se tale variabile supera il limite posto taglia la stringa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579
    Con Split vero?
    Ma come faccio a far capire alla funzione split che deve considerare ogni singolo carattere, senza spazi (ovvero una parola)?

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    per queste cose secondo me la maniera più veloce è sfruttare le regular expression
    codice:
    stringa="Ciao come va? Boooooooooooo. Non vedo l'ora di rivederti!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
    set re = new RegExp
    re.Pattern="(.)\1{10,}"
    re.Global=true
    re.Multiline=true
    Response.Write stringa & "
    "
    Response.Write re.Replace(stringa,"$1$1$1$1$1")

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579
    Sei un grande!!!! Funziona alla perfezione!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    sei un mago delle RegEx.... complimenti....

    Spiegami una cosa, perchè usando (.){10,} non funziona ? l'espressione {10,} non dovrebbe quantificare la precedente?

    E poi...il punto identifica tutti i caratteri tranne spazi,ritorno a capo ect...?

    Hai una buona guida sulle re?

    Grazie

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da dabbia
    Sei un grande!!!! Funziona alla perfezione!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    sono 1,89
    la tua frase diventa così
    codice:
    Sei un grande!!!! Funziona alla perfezione!!!!!

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da Baol74
    sei un mago delle RegEx.... complimenti....

    Spiegami una cosa, perchè usando (.){10,} non funziona ? l'espressione {10,} non dovrebbe quantificare la precedente?
    (.){10,} così trova 10 o più caratteri che possono essere qualunque cosa tranne che "ritorno a capo"
    il \1 è quello che trova tra parentesi, quindi un qualunque carattere, ed è quello che cerca per 10 o più ripetizioni...
    marò! Mi spiego veramente da schifo

  9. #9
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    ok, non avevo letto bene la richiesta....

    grazie...

    e per la guida?

  10. #10

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.