JavaScriptで正規表現を使用して文字列から数字のみを抽出する方法を紹介します。
1. 文字列からすべての数値を抽出
aaa123bbb456
のように文字の間に数字があるとき、文字をすべて削除して残りの数字を1つの数字に続けて 123456
を抽出したい場合があります。
このようなときは、以下のように正規表現で文字をすべて削除するだけです。 [^0-9]
は数字以外の文字を意味するパターンで、 g
は文字列内のすべてのパターンを見つけるという意味です。 replace(regex, "")
を実行すると、regex に対応するすべてのパターンを探して ""
に変換します。つまり、数字以外の文字はすべて削除されます。このように返された数字は型が String で、 parseInt()
で Number 型に変換できます。
const str = "Hello_123_World_456_!!!";
const regex = /[^0-9]/g;
const result = str.replace(regex, "");
const number = parseInt(result);
console.log(result);
console.log(typeof(result));
console.log(number);
console.log(typeof(number));
Output:
123456
string
123456
number
2. 文字列から連続した数字パターンの抽出
aaa123bbb456
と同じ文字列から 123
だけを抽出するか、 456
だけを抽出したい場合があります。この場合、正規表現の match()
を使って数値パターンを見つけることができます。
例えば、 d+
は数字の 1 文字以上の文字列を意味し、 g
はすべてのパターンを見つけるという意味です。 foo31bar52
でこのパターンに一致するのは 31
と 52
です。したがって、戻り値を見ると、この2つの数字が返されます。
let found = "foo31bar52".match(/\d+/g);
console.log(found);
Output:
[ '31', '52' ]
上記のように match()
を使って、以下のように最初に見つけた数字と二度と見つけた数字にIndexでアクセスすることができます。
let num = "foo31bar52".match(/\d+/g)[0];
console.log(num);
num = "foo31bar52".match(/\d+/g)[1];
console.log(num);
Output:
31
52
Related Posts
- JavaScript - 現在のタイムスタンプを取得する
- Node.js - ファイル、ディレクトリの削除
- JavaScript - 文字列 空白 削除
- JavaScript sort() 関数、例の紹介
- JavaScript Set delete() 関数、値の削除
- JavaScript - 実行時間の測定方法
- JavaScript - 配列をオブジェクトに変換する4つの方法
- JavaScript - Mapの作成と初期化、3つの方法
- JavaScript - Map巡回、3つの方法
- JavaScript - Mapソート(キーまたはvalueでソート)
- JavaScript - オブジェクトに特定の値が存在することを確認する
- JavaScript - 数値がNaNであるかどうかを確認する方法
- JavaScript Enum (列挙型)
- JavaScript - 日付/時刻比較、3つの 方法
- JavaScript - 空の文字列の確認、2つの方法
- JavaScript - 最後の文字を削除する、4つの方法
- JavaScript - 配列を文字列に変換、3つの方法
- JavaScript - 複数行の文字列、3つの方法
- JavaScript - オブジェクトを文字列に変換する2つの方法
- JavaScript - 配列から重複排除、4つの方法
- JavaScript - 文字列の比較方法、5つの方法
- JavaScript - 文字列から数字のみを抽出する
- JavaScript - 配列のソート方法(昇順、降順)
- JavaScript - 文字列 切り出し(split、substr、substring、slice)
- JavaScript - Setを配列(Array)に変換する
- JavaScript - 文字列を配列(Array)に変換
- JavaScript - 関数の宣言方法
- JavaScript - 配列宣言、追加、削除などの基本的 な使用法のクリーンアップ
- JavaScript - 文字列を数値に変換する方法
- JavaScript - 文字列を結合する、接続する(concat、join、+)