【JavaScript】文字列から数値のみ取得する方法

文字列から数値のみを取得する方法は様々あります。以下にいくつかの方法を紹介します。

正規表現を使用する方法

正規表現を使って数値のみを抽出する方法です。\d+パターンを使用して数値の部分を抽出します。利点としては、簡潔なコードで数値のみを取得できることです。

const str = "文字列123の部分456を抽出789する";
const numbers = str.match(/\d+/g).map(Number);
console.log(numbers); // [123, 456, 789]

parseInt()関数を使用する方法

parseInt()関数を使って文字列を数値に変換し、数値でない部分は無視します。この方法の利点は、整数を直接抽出できることです。

const str = "文字列123の部分456を抽出789する";
const numbers = str.split(/\D+/).filter(Boolean).map(Number);
console.log(numbers); // [123, 456, 789]

文字列を反復処理して数値のみを取得する方法

文字列を反復処理して、数値のみを取得する方法です。文字列を一文字ずつ処理し、数値である場合は数値として追加していきます。この方法の利点は、細かい制御が可能であることです。

const str = "文字列123の部分456を抽出789する";
let num = "";
const numbers = [];
for (const char of str) {
  if (!isNaN(char)) {
    num += char;
  } else if (num !== "") {
    numbers.push(Number(num));
    num = "";
  }
}
if (num !== "") {
  numbers.push(Number(num));
}
console.log(numbers); // [123, 456, 789]

まとめ

これらの方法を使うことで、特定のケースに応じて適切な方法を選択することができます。正規表現はパターンが決まっている場合や、複数の数値を一度に抽出する場合に便利です。parseInt()関数は整数を直接抽出する場合に適しています。文字列を一文字ずつ処理する方法は、細かな制御が必要な場合に役立ちます。