JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【JavaScript】文字列内の句読点の総数を数える方法

英語では、以下の文字がすべて句読点(punctuation)として扱われます。

'!', ",", "'", ";", "\"", ".", "-", "?"

本記事では、文字列を受け取り、その中にこれらの句読点が何回出現するかを数えて、その合計を返す JavaScript 関数の実装方法を解説します。

サンプルコード

それでは、実際に関数のコードを書いてみましょう。

const str = "This, is a-sentence;.Is this a sentence?";
const countPunctuation = str => {
    const punct = "!,\;\.-?";
    let count = 0;
    for(let i = 0; i < str.length; i++){
       if(!punct.includes(str[i])){
           continue;
       };
       count++;
    };
    return count;
};
console.log(countPunctuation(str));

出力結果

コンソールには次のように出力されます。

5

コードの解説

この関数の仕組みはシンプルで、以下の手順で動作しています。

まず、カウント対象となる句読点の一覧を文字列 punct として定義します。次に、for ループを使って入力された文字列を先頭から1文字ずつ取り出し、includes() メソッドによってその文字が句読点一覧に含まれているかどうかを判定します。含まれていない場合は continue で処理をスキップし、含まれていればカウンター変数 count を1つ増やします。ループが完了した時点での count の値、すなわち句読点の総数を最終的に返り値として返します。

このサンプルでは、カンマ「,」・ハイフン「-」・セミコロン「;」・ピリオド「.」・クエスチョンマーク「?」の計5つの句読点が検出され、正しく「5」が出力されています。

  1. JavaScriptで正規表現を使って文字列の単語数をカウントする方法

    正規表現を活用すれば、JavaScriptで特定の文字列に含まれる単語数を簡単にカウントできます。本記事では、単語数を正確に求めるための基本的な手順をステップごとにわかりやすく解説します。 単語数カウントの基本手順 文章やフレーズは、通常スペースで区切られた単語の集まりで構成されています。しかし実際のテキストでは、単語同士が2つ以上の連続したスペースで区切られていたり、文字列の先頭や末尾に不要な空白が含まれていたりするケースがあります。こうした状況を考慮せずに単純に分割すると、正しい単語数を得られません。そのため、カウント前に以下の前処理を行うことが重要です。 ステップ1:文字列の先頭と末尾の

  2. JavaScriptで文字列を真偽値(Boolean)に変換する方法

    JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style>     body {         font-family: &