私は次のようにテキスト内の単語数を数えようとしました:
function WordCount(str) {
var totalSoFar = 0;
for (var i = 0; i < WordCount.length; i++)
if (str(i) === " ") { // if a space is found in str
totalSoFar = +1; // add 1 to total so far
}
totalsoFar += 1; // add 1 to totalsoFar to account for extra space since 1 space = 2 words
}
console.log(WordCount("Random String"));
かなりうまくできたと思いますが、記述が間違っていると思います。スペースが含まれているif
かどうかをチェックして 1 を追加する部分です。str(i)
編集:
私は (Blender のおかげで) これをはるかに少ないコードで実行できることを発見しました。
function WordCount(str) {
return str.split(" ").length;
}
console.log(WordCount("hello world"));
ベストアンサー1
車輪を再発明する前にこれらを試してみてください
からJavaScript を使用して文字列内の単語数をカウントする
function countWords(str) {
return str.trim().split(/\s+/).length;
}
からhttp://www.mediacollege.com/internet/javascript/text/count-words.html
function countWords(s){
s = s.replace(/(^\s*)|(\s*$)/gi,"");//exclude start and end white-space
s = s.replace(/[ ]{2,}/gi," ");//2 or more space to 1
s = s.replace(/\n /,"\n"); // exclude newline with a start spacing
return s.split(' ').filter(function(str){return str!="";}).length;
//return s.split(' ').filter(String).length; - this can also be used
}
から正規表現を使わずにJavaScriptを使用して文字列内の単語を数える- これが最善のアプローチです
function WordCount(str) {
return str.split(' ')
.filter(function(n) { return n != '' })
.length;
}
著者からのメモ:
このスクリプトを適応させて、好きな方法で単語をカウントできます。重要なのは
s.split(' ').length
、スペースをカウントすることです。スクリプトは、カウントする前に余分なスペース (ダブルスペースなど) をすべて削除しようとします。テキストに間にスペースのない 2 つの単語が含まれている場合は、それらを 1 つの単語としてカウントします (例: "最初の文 .次の文の開始")。