domanda....per contare i caratteri che compongono una stringa utilizzo Len(string)...ma per contare le parole?![]()
TX![]()
domanda....per contare i caratteri che compongono una stringa utilizzo Len(string)...ma per contare le parole?![]()
TX![]()
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
Baciamo le mani![]()
grazie
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![]()
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." %>
Ho fatto questa regular per contare gli spazi, non so se è la soluzione migliore ma funziona
http://webprogetti.it/testconta.aspcodice:<!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>
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
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
Grazie a tutti provo subito![]()