JavaScriptの正規表現で数値の先頭ゼロを削除する方法
正規表現を使った先頭ゼロの削除
文字列から先頭のゼロ(先行ゼロ)を削除したい場合は、replace()メソッドと正規表現を組み合わせるのが効果的です。基本的な構文は以下の通りです。
yourStringValue.replace(/\D|^0+/g, "")
この正規表現の意味を簡単に解説します。
\D:数字以外の文字をすべて削除します^0+:文字列の先頭にある1つ以上の「0」を削除しますgフラグ:文字列全体に対してグローバルにマッチングを行います
サンプルコード
それでは、数値を含む変数を用意して、実際に先頭ゼロを削除してみましょう。
var theValue1 = "5001000"; var theValue2 = "100000005"; var theValue3 = "05000001"; var theValue4 = "00000000006456"; console.log(theValue1.replace(/\D|^0+/g, "")); console.log(theValue2.replace(/\D|^0+/g, "")); console.log(theValue3.replace(/\D|^0+/g, "")); console.log(theValue4.replace(/\D|^0+/g, ""));
プログラムの実行方法
上記のプログラムを実行するには、Node.jsを使って以下のコマンドを入力します。
node fileName.js
実行結果
ここでは、ファイル名をdemo101.jsとして保存しています。実行すると、以下のような出力が得られます。
PS C:\Users\Amit\JavaScript-code> node demo101.js 5001000 100000005 5000001 6456
結果のポイント
出力結果を見ると、「05000001」は「5000001」に、「00000000006456」は「6456」に変換されていることがわかります。先頭に連続するゼロだけが削除され、数値の途中にあるゼロ(例:「5001000」や「100000005」)はそのまま保持される点に注目してください。この正規表現は、IDやコードなど、先頭ゼロを取り除いて正規化したい文字列データの処理に非常に便利です。
-
JavaScriptで数値の先頭の0を保持する方法は?
JavaScriptで先頭の0を保持するには?JavaScriptでは、数値(Number型)として先頭の0を保持することはできません。数値リテラルの先頭に付いた0は意味を持たず、自動的に削除されてしまいます。しかし、従業員IDのように先頭の0が意味を持つ値を扱いたい場合は、その値を文字列として扱い、引数として渡すことで対応できます。サンプルコード以下のコードでは、IDを文字列として渡すことで先頭の0を保持しています。ボタンをクリックすると関数が呼び出され、結果が表示されます。<html> <head>
-
JavaScriptでキューから要素を削除する方法(dequeueの実装)
キューから要素をデキュー(dequeue)するととは、キューの先頭(ヘッド)から要素を取り除くことを意味します。本記事では、コンテナ配列の先頭をキューのヘッドとして扱い、すべての操作をこれを基準に行います。dequeue関数の実装キューの先頭から要素を取り出すpop処理は、以下のように実装できます。dequeue() { // キューが空かどうかをチェック if (this.isEmpty()) { console.log(Queue Underflow!); return; } return this.container.shi