JavaScriptで文字列に2文字ごとにスペースを挿入する方法
JavaScriptで文字列に対して2文字ごとにスペースを挿入したい場合は、replace()メソッドを正規表現と組み合わせて使用します。正規表現を使うことで、ループ処理を書かずとも簡潔に目的の書式変換を実現できます。
正規表現パターンの仕組み
ここで使うパターンは /.{1,2}(?=(.{2})+$)/g です。この正規表現は「先読みアサーション (?=...)」を利用し、残りの文字数が偶数になる位置にある1〜2文字にマッチさせます。これにより、文字列の末尾から2文字ずつ区切った境界にスペースを挿入できる仕組みになっています。
実装例
以下がサンプルコードです。
var values = "JavaScriptTutorial";
var result = values.replace(/.{1,2}(?=(.{2})+$)/g, '$& ');
console.log("元の文字列=");
console.log(values);
console.log("2文字ごとにスペースを挿入した結果=");
console.log(result);プログラムの実行方法
上記のプログラムを実行するには、ターミナル(コマンドプロンプト)で次のコマンドを入力します。
node fileName.js
ここでは、ファイル名を「demo326.js」として保存したものとして説明します。
出力結果
このプログラムを実行すると、以下のような出力が得られます。
PS C:\Users\Amit\javascript-code> node demo326.js 元の文字列= JavaScriptTutorial 2文字ごとにスペースを挿入した結果= Ja va Sc ri pt Tu to ri al
ポイントまとめ
replace()の第1引数にグローバルフラグ/gを付けた正規表現を指定することで、文字列内のすべての該当箇所が置換されます。- 置換後の文字列で
$&を使うと、マッチした文字列そのものを参照でき、その後ろに半角スペースを追加しています。 - 奇数長の文字列でも、先頭側のグループが1文字として処理されるため、正しく分割されます。
-
JavaScriptで文字列内の2つ以上の連続スペースを1つのスペースに変換する方法
概要 HTMLの入力欄からユーザーが入力した文字列をJavaScriptで受け取り、その中に含まれる「2つ以上の連続した空白」を検出し、すべて1つのスペースに置き換えるプログラムを作成します。このような処理には正規表現を使うのが最もシンプルで確実な方法です。replace()メソッドの第1引数に正規表現 /\s{2}/g を指定することで、目的の結果を簡単に得られます。 使用する正規表現のポイント \s:半角スペース・タブ・改行などの空白文字にマッチします。 {2}:直前のパターンが2回以上連続する場合にマッチします。 g(グローバルフラグ):文字列内のすべての該当箇所を置換対象にします。
-
JavaScriptで2つの二分探索木(BST)のノード値の合計が目標値に一致するか判定する方法
問題 JavaScriptの関数を作成します。この関数は、第1引数として1つ目の二分探索木のルートroot1を、第2引数として2つ目の二分探索木のルートroot2を受け取り、さらに第3引数として整数targetを受け取ります。 この関数は、「1つ目の木の中のあるノード」と「2つ目の木の中のあるノード」の値を足し合わせた結果がtargetと一致するようなペアが存在する場合にのみtrueを返し、存在しない場合はfalseを返す必要があります。 たとえば、次のような入力が与えられたとします。 const target = 23; 2つのBSTの例 この場合の出力は次のようになります。 const