Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Contare parole

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687

    Contare parole

    domanda....per contare i caratteri che compongono una stringa utilizzo Len(string)...ma per contare le parole?

    TX

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Te lo faccio con una funzione in JScript
    codice:
    <script language="JScript" runat="server">
    function contaParole(frase) {
    return (frase.split(/\b/).length)/2;
    }
    </script>
    <%
    frase = "Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
    
    response.write "La frase:
    " & frase & "
    contiene " & contaParole(frase) & " parole."
    %>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    Baciamo le mani

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    Ciao...ma come mai per fare un esempio se provo la frase OGGI HO SONNO mi da che la frase contiene 2,5 parole?

    TX

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    perché il numero di parole è dispari... arrotonda
    codice:
    <script language="JScript" runat="server">
    function contaParole(frase) {
    return Math.round((frase.split(/\b/).length)/2);
    }
    </script>
    <%
    frase = "oggi ho sonno"
    
    response.write "La frase:
    " & frase & "
    contiene " & contaParole(frase) & " parole."
    %>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ho fatto questa regular per contare gli spazi, non so se è la soluzione migliore ma funziona
    codice:
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <%
    if Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    testo = Trim(Request("testo"))
    Set regEx = new RegExp
    regEx.Pattern = " "
    regEx.Global = True
    Set Matches = regEx.Execute(testo)
    num = 1
    for Each Match in Matches
    num = num + 1
    Next
    frase = "la frase inserita e composta da "&num&" parole"
    End if
    %>
    
    </body>
    <form name="form1" method="post" action="">
      <table width="38%" border="0" cellspacing="2" cellpadding="0">
        <tr>
          <td width="32%"><input name="testo" onKeyUp="this.value=this.value.replace(/(?:(\s))+/g, '$1')" type="text" value="<%if Request("testo") = "" Then 
      Response.Write "Scrivi qui la frase che vuoi controllare"
      else Response.Write Request("testo") End if%>" id="testo" style="width:500px; height:40px; font-size:18px;"></td>
          <td width="68%"><input name="verifica" type="submit" value="Verifica frase"  style="width:100px; height:48px;"></td>
        </tr>
      </table>
    </form>
    <%= frase %>
    </html>
    http://webprogetti.it/testconta.asp
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    contare gli spazi non equivale a contare le parole. Personalmente ritengo ottima la soluzione proposta da br1 che usa il \b che equivale al separatore di parole

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    Grazie a tutti provo subito

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.