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

JavaScriptで数値の先頭ゼロをスペースに置き換える方法

JavaScriptで、数値を表す文字列から先頭のゼロをスペースに置き換える関数を作成する方法を紹介します。ポイントは、数値の前に入っている既存の空白(スペース)を保持したまま処理することです。

やりたいこと

たとえば、次のような文字列が与えられたとします。

"  004590808"

この文字列に関数を適用すると、先頭のゼロがスペースに置き換えられ、結果は次のようになります。

"    4590808"

このように、元の空白はそのまま残り、先頭ゼロのぶんだけスペースが追加された形になります。

サンプルコード

const str = ' 004590808';
const replaceWithSpace = str => {
  let replaced = '';
  const regex = new RegExp(/^\s*0+/);
  replaced = str.replace(regex, el => {
    const { length } = el;
    return ' '.repeat(length);
  });
  return replaced;
};
console.log(replaceWithSpace(str));

コードの解説

ここで使用している正規表現は /^\s*0+/ です。それぞれの要素は次の意味を持ちます。

  • ^: 文字列の先頭
  • \s*: 0個以上の空白文字(スペースやタブなど)
  • 0+: 1個以上の連続するゼロ

replace() の第2引数に渡すコールバック関数では、マッチした部分文字列(空白+先頭ゼロ)の長さを取得し、repeat() を使って同じ長さのスペース文字列を生成して返します。これにより、マッチした範囲全体が同じ幅のスペースへと置き換えられ、数値本体はそのまま保たれます。

実行結果

コンソールには次のように表示されます。

"   4590808"
  1. JavaScriptでオートコンプリート(入力補完)機能を実装する方法

    JavaScriptによるオートコンプリートの実装検索フォームなどでユーザーの入力に合わせて候補を自動的に表示する「オートコンプリート(入力補完)」機能は、JavaScriptを使えばライブラリなしでも実装できます。本記事では、配列に格納されたデータを候補として表示し、マウスクリックやキーボード操作で選択できるオートコンプリートの作り方を、完全なサンプルコードとともに解説します。実装のポイントこのサンプルでは以下のような仕組みでオートコンプリートを実現しています。inputイベント:テキストフィールドに入力があるたびに発火し、入力値と前方一致する項目を候補リストとして動的に生成します。キーボー

  2. JavaScriptでテキストを切り替える(トグルする)方法を解説

    JavaScriptを使えば、ボタンをクリックするたびに表示されるテキストを切り替える(トグルする)処理を簡単に実装できます。ここでは、innerHTMLプロパティと条件分岐を組み合わせた、最も基本的なテキスト切り替えの方法をサンプルコード付きで解説します。実装コード例<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>