JavaScriptでマッチングされた番号の配列を取得する方法


方法1: 正規表現を使用する方法 正規表現を使用して、文字列内のマッチングされた番号を抽出し、配列として取得することができます。例えば、以下のコードでは、文字列内のすべての数字をマッチングさせ、配列として取得しています。

const str = "abc123def456ghi789";
const numbers = str.match(/\d+/g);
console.log(numbers); // ["123", "456", "789"]

このコードでは、matchメソッドを使用して、正規表現/\d+/gにマッチングするすべての数字を取得しています。gフラグは、グローバル検索を実行するために使用されます。

方法2: 文字列をループしてマッチングする方法 文字列をループして、各文字が数字であるかどうかをチェックし、マッチングされた数字を配列に追加する方法もあります。以下に例を示します。

const str = "abc123def456ghi789";
const numbers = [];
for (let i = 0; i < str.length; i++) {
  const char = str[i];
  if (!isNaN(char)) {
    let number = char;
    for (let j = i + 1; j < str.length; j++) {
      if (!isNaN(str[j])) {
        number += str[j];
        i = j;
      } else {
        break;
      }
    }
    numbers.push(number);
  }
}
console.log(numbers); // ["123", "456", "789"]

このコードでは、文字列をループして各文字が数字であるかどうかをチェックし、数字の連続部分を抽出しています。数字の連続部分が見つかった場合、それを配列に追加します。