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

JavaScriptで文字列から数値を抽出する方法【match()とparseInt()の使い方】

JavaScriptで「abcdef 30」のような文字列に含まれる数値を取得したい場合、注意が必要です。文字列の先頭が数字ではないため、単純にparseInt()を実行してもNaN(Not a Number)が返されてしまいます。

この問題を解決するには、String.match()メソッドと正規表現を組み合わせて、まず文字列の中から数値部分だけを取り出します。その結果をparseInt()に渡すことで、確実に整数として取得できます。

サンプルコード

以下は、「abcdef 30」という文字列から数値「30」を抽出して表示するデモです。

<!DOCTYPE html>
<html>
   <body>
      <script>
         var myStr = "abcdef 30";
         var num = parseInt(myStr.match(/\d+/));
         alert(num); // 30 と表示される
      </script>
   </body>
</html>

コードの解説

  • /\d+/:1桁以上の連続した数字にマッチする正規表現です。\dが数字1文字、+が「1回以上の繰り返し」を意味します。
  • match():文字列内で正規表現にマッチした部分を配列として返します。最初のマッチ結果はmatch(/\d+/)[0]で取得できます。
  • parseInt():文字列を整数に変換します。ここでは配列の先頭要素が自動的に文字列化されて渡されます。

補足:小数を扱いたい場合

小数点を含む数値(例:「abc 3.14」)を抽出したい場合は、正規表現を/\d+\.?\d*/のように変更し、変換にはparseFloat()を使用してください。

このように、正規表現による抽出とparseInt()parseFloat()の組み合わせを使えば、任意の位置にある数値を文字列から柔軟に取得できます。

  1. JavaScriptで値を数値に変換するには?Number()メソッドの使い方を解説

    JavaScriptでは、Number()メソッドを使うことで、任意の値を数値に変換できます。このメソッドは、数値を表す文字列を数値へ変換したり、真偽値(boolean)を「1」または「0」に変換したりすることが可能です。ここでは、その基本的な使い方について詳しく解説します。構文var num = Number(value);引数 value に変換したい値を渡すと、数値に変換された結果が返されます。変換できない場合は NaN(Not a Number)が返される点にも注意しましょう。例1:数値文字列と真偽値の変換次の例では、Number()メソッドを使って、数値を表す文字列や真偽値を数値に変

  2. JavaScriptで値を文字列に変換する5つの方法を徹底解説

    JavaScriptで値を文字列(string型)に変換する方法は、主に5つあります。それぞれ動作の仕組みや挙動が異なるため、用途に応じて使い分けることが大切です。空文字列との連結テンプレート文字列JSON.stringify()toString()メソッドString()関数各変換方法のポイント1. 空文字列との連結値に対して空文字列 を加算すると、JavaScriptの暗黙的な型変換によって文字列になります。手軽な一方で、意図しない演算結果につながる可能性もあるため注意が必要です。2. テンプレート文字列バッククォート `${value}` を使う方法です。可読性が高く、複数の値を組み合