JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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やコードなど、先頭ゼロを取り除いて正規化したい文字列データの処理に非常に便利です。

  1. JavaScriptで数値の先頭の0を保持する方法は?

    JavaScriptで先頭の0を保持するには?JavaScriptでは、数値(Number型)として先頭の0を保持することはできません。数値リテラルの先頭に付いた0は意味を持たず、自動的に削除されてしまいます。しかし、従業員IDのように先頭の0が意味を持つ値を扱いたい場合は、その値を文字列として扱い、引数として渡すことで対応できます。サンプルコード以下のコードでは、IDを文字列として渡すことで先頭の0を保持しています。ボタンをクリックすると関数が呼び出され、結果が表示されます。<html>    <head>      

  2. JavaScriptでキューから要素を削除する方法(dequeueの実装)

    キューから要素をデキュー(dequeue)するととは、キューの先頭(ヘッド)から要素を取り除くことを意味します。本記事では、コンテナ配列の先頭をキューのヘッドとして扱い、すべての操作をこれを基準に行います。dequeue関数の実装キューの先頭から要素を取り出すpop処理は、以下のように実装できます。dequeue() { // キューが空かどうかをチェック if (this.isEmpty()) { console.log(Queue Underflow!); return; } return this.container.shi