Javascript 我需要一种更好的方法来计算文本区域中的单词?
我试图计算文本区域中的单词,基本上就是Javascript 我需要一种更好的方法来计算文本区域中的单词?,javascript,Javascript,我试图计算文本区域中的单词,基本上就是string.split(“”) 这种方法是完全没有希望的。我甚至不知道它在做些什么。例如,我可以没有文本在那里,它给了我一个正数 我不确定是string.split(“”)、方法还是带有的东西,或者两者不兼容 这是我的密码: <body> <textarea rows="14" cols="50" id="text"> </textarea> <br/> <
string.split(“”)代码>
这种方法是完全没有希望的。我甚至不知道它在做些什么。例如,我可以没有文本在那里,它给了我一个正数
我不确定是string.split(“”)
、方法还是带有
的东西,或者两者不兼容
这是我的密码:
<body>
<textarea rows="14" cols="50" id="text">
</textarea>
<br/>
<br/>
<br/>
<br/>
<button onclick="show()">Analyze</button>
<div id="results">
</div>
<script>
var a1 = [];
var words = 0;
function show()
{
// GET WORDS
var s = document.getElementById("text").value;
a1 = s.split(' ');
words = a1.length;
document.getElementById("results").innerHTML = words;
}
</script>
</body>
分析
var a1=[];
变量字=0;
函数show()
{
//获得话语权
var s=document.getElementById(“文本”).value;
a1=s.分裂(“”);
字数=a1.5长度;
document.getElementById(“结果”).innerHTML=words;
}
将所有不是数字、字母、下划线或撇号的内容转换为空格;然后,将空格之间的事物流计算为“单词”
将不是数字、字母、下划线或撇号的所有内容都转换为空格;然后,将空格之间的事物流计算为“单词”
你那里的新行仍然很重要!空格之间的空格也会变成空字符串
<>我会使用正则表达式,你可以很容易地根据你所考虑的单词来改变:
var WORD = /[a-zA-Z\d'’-]+/g;
⋮
var words = s.match(WORD).length;
你那里的新行仍然很重要!空格之间的空格也会变成空字符串
<>我会使用正则表达式,你可以很容易地根据你所考虑的单词来改变:
var WORD = /[a-zA-Z\d'’-]+/g;
⋮
var words = s.match(WORD).length;
当您遇到问题时,列出输入列表和相应的输出列表,然后找出输出列表应该是什么,并比较差异。如果你仍然不知道哪里出了问题,告诉我们这些东西。我不太懂javascript,但我认为使用split(“”)比split(“”)更好。。。也许不同?在空格上拆分不会考虑行尾字符。也许先替换它们,然后在空格上拆分。@markg这两个在JavaScript中是相同的。遇到问题时,请列出输入列表和相应的输出列表,然后找出输出列表应该是什么,并比较差异。如果你仍然不知道哪里出了问题,告诉我们这些东西。我不太懂javascript,但我认为使用split(“”)比split(“”)更好。。。也许不同?在空格上拆分不会考虑行尾字符。也许先替换它们,然后在空间上拆分。@markg这两个在JavaScript.com中是相同的。我想我真的需要学习如何使用正则表达式。太棒了。我想我真的需要学习如何使用正则表达式。