这是我的第一个Javascript项目。我必须计算每个句子的单词,空格,句子和平均单词。我已经完成了代码的前两步,并且已经完成了它,因此它计算了单词和空格。我不确定如何平均每个句子的单词或句子的数量。
对于每个句子的单词我认为我应该以某种方式使用我在函数中已经拥有的字数的值并将其除以其总和,但我不确定如何设置它。对于第一句话,我对如何做到这一点毫无头绪。我不知道我是否可以扫描输入中的句点/问号/感叹号?我查了一下,找不到任何足够的东西,我正在寻找。任何指针?这是代码: HTML
<form name="myform" method="post" action="">
<textarea name="inpString" cols="49" rows="4"></textarea>
<br />
<input type="button" name="Count" value="Calculate" onClick="countNoOfWords();" />
<input name="noofwords" type="text" value="" size="6" />
<input name="noofspaces" type="text" value="" size="6" />
</form>
的Javascript
function countNoOfWords() {
document.myform.noofwords.value = document.myform.inpString.value.split(' ').length + " words";
document.myform.noofspaces.value = document.myform.inpString.value.split(" ").length - 1 + " spaces";
}
非常感谢,我真的很感激。如果有任何问题,请告诉我。
我现在在想,我可以使用if语句查找句点/问号/感叹号,然后返回该值以查找句子数。我不知道。
答案 0 :(得分:4)
要获得句子数量,请查看JavaScript中的Regular Expressions,这样您就可以将文本拆分成句子数组:
function getNoOfSentences() {
var val = document.myform.inpString.value;
var sentences = val.split(/[\.!?]+/); // split on punctuation
return sentences.length - 1; // subtract 1 to account for last sentence
}
一旦你有了句子,就可以通过将你的总字数除以句子数来计算每个句子的平均单词数:
var averageWords = totalWords / numSentences;