Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ordinare parole di un testo su un TXT (rimuovendo alcune parti!)

    Scusate il topic "generico" !

    Qualcuno per caso ha un link o si è trovato a dover copiare un testo da un TXT su un form e doverlo metterlo in ordine (es. alfabetico) tramite javascript?

    Il problema è che gli elementi del testo txt sono confusi, con spazi a caso, cifre (che non devono essere lette) ed elementi di sintassi inutili (_°*,.) che devono essere rimossi durante il processo di sort()

    L'unica cosa che so fare è usare sort() con degli elementi di un array.. invece qua ho delle parole su un txt da pastare su un form..!!

    nel caso... GRAZIE!



    ps. il js forse più consono per iniziare che ho trovato è questo:
    http://snipplr.com/view/4530/sort-text-in-javascript/

  2. #2
    Ciao,
    dall'uffico non posso vedere il link che indichi però a me risulta che js non possa lavorare su file.
    Sbaglio?
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Originariamente inviato da NonCeLaFaccio+
    Ciao,
    dall'uffico non posso vedere il link che indichi però a me risulta che js non possa lavorare su file.
    Sbaglio?
    Ciao! Hai perfettamente ragione, infatti mi sono spiegato male io..
    E' l'utente a fare il copia e incolla sul form, non direttamente js.. Di fatto ciò che sto cercando di fare è semplicemente un sort con la possibilità di tagliare parti inutili (spazi, caratteri alfanumerici indesiderati e inserire una virgola fra i diversi elementi in ordine alfabetico)

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Per eliminare i caratteri indesiderati puoi fare una cosa del genere:

    //caratteri indesiderati
    uselessChar = "_°*,.";
    //testo recuperato
    text = "ciao_bello";
    //sostituisco tutti i caratteri indesiderati con ''
    for(i=0;i<uselessChar.length;i++){
    if(text.indexOf(uselessChar.charAt(i)) != -1){
    text = text.replace(uselessChar.charAt(i),'');
    }
    }

    Se hai un array ovviamente devi farlo per ogni elemento contenuto...

  5. #5
    Originariamente inviato da Vindav
    Per eliminare i caratteri indesiderati puoi fare una cosa del genere:

    //caratteri indesiderati
    uselessChar = "_°*,.";
    //testo recuperato
    text = "ciao_bello";
    //sostituisco tutti i caratteri indesiderati con ''
    for(i=0;i<uselessChar.length;i++){
    if(text.indexOf(uselessChar.charAt(i)) != -1){
    text = text.replace(uselessChar.charAt(i),'');
    }
    }

    Se hai un array ovviamente devi farlo per ogni elemento contenuto...
    CI PROVO E TI RINGRAZIO !

  6. #6
    Ciao, prova anche questa, ci ho messo un po' perché mi sono dovuto ripassare le regular expressions:

    codice:
    <html>
       <head>
          <script type="text/javascript">
             function pulisci_e_spezza() {
                array_out = new Array();
                re = /[abcdefghijklmnopqrstuvwxyz]/i;
                st = document.getElementById('textarea_1').value;
                el = "";
                k = 0;
                for (i=0;i<st.length;i++) {
                   if (re.exec(st.charAt(i))) {
                      el = el + st.charAt(i);
                   }
                   if ((!re.exec(st.charAt(i))) || (i == st.length - 1)) {
                      if (el != "") {
                         array_out[k] = el;
                         k++;
                         el = "";
                      }
                   }
                }
                for (n=0;n<array_out.length;n++) {
                   alert (n + " - " + array_out[n]);
                }
             };
          </script>
       </head>
       <body>
          <form action="#">
             <textarea id="textarea_1"></textarea>
             <input type="button" value="clicca" onclick="pulisci_e_spezza()" />
          </form>
       </body>
    </html>
    In re metti i caratteri che vuoi far passare, la i serve a renderlo case insensitive.
    Praticamente si tratta di un ciclo su tutti i caratteri della textarea seguendo questa logica: se il carattere trovato appartiene a quelli permessi viene accodato nella variabile el, se il carattere in esame non appartiene a quelli permessi oppure se la stringa e terminata si carica il prossimo elemento dell'array con la variabile el.
    Il ciclo finale visualizza l'array, giusto per verifica, tu puoi sostituirlo col sort che hai detto che sai fare quindi non me ne sono preoccupato.

    Ho fatto tutti i test che mi sono venuti in mente ma non escludo che in qualche caso particolare possa non funzionare, al limite riscrivi.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

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.