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