今回は、JavaScriptで文字列を別の文字列に置換する方法を紹介します。
今回紹介するプログラムでは、入力フォームでの不要な改行や「-(ハイフン)」などを消して、見易く綺麗な文字列に置換する事が出来ます。
- 文字列を別の文字列に変えたい
- 不要な改行コードや空白を消したい
難易度(MAX10) | ★★★★★★☆☆☆☆ |
文字列を別の文字列に置換する方法
文字列を別の文字列に置換するには以下のメソッドを使用します。
対象文字列.replace(文字列1 , 文字列2) | 文字列1を文字列2に置換する |
対象文字列.replace(正規表現 , 文字列) | 正規表現によって文字列を置き換える |
文字列を別の文字列に置換するにはreplaceメソッドを使用します。
実際の使い方は以下の通りです。
const imgname = 'img1.png';
imgname.replace('img1.png' , 'img02.png'); //「img1.png」を「img02.png」に置換
const inputtext = '鈴木\n太郎';
inputtext.replace('\n' , '') //「\n」を消す

replaceメソッドは、第一引数が文字列の場合、置換対象となる文字列は最初のもののみです。
そのため、「090-0000-1111」の様な電話番号で「tel.replace(‘-‘ , ”);」の様に「-」を消そうとしても「0900000-1111」の様に最初の「-」しか対象となりません。
この様な場合は以下の様に正規表現を使うことで複数文字の置換が出来ます。
const tel = '090-0000-1111';
tel.replace(/-/g , '');
以下のコードは、テキストエリア にメールアドレスを入力すると「@」以前の文字列を削除して、ドメイン部分のみが返答されるサンプルです。
<main>
<input id="textarea" placeholder="テキストエリア" type="text">
<p class="caption"><small>*メールアドレスのドメイン部分のみを取得します。</small></p>
<button id="submitButton" type="submit">実行する</button>
</main>
document.querySelector('#submitButton').addEventListener('click' , (event) => {
const text = document.querySelector('#textarea').value;
const trimtextarea = text.replace(/.*?(\@)/g, '');
alert(`ドメインは ${trimtextarea} です`)
event.preventDefault();
})
テキストエリアに「mka@gmail.com」と入力すると@以前の文字列は削除され@以降の文字列のみが返されます。
*「/.*?(\@)/g」は@を含み@以前と言う意味の正規表現です。

以上が「JavaScriptで文字列を別の文字列に置換する方法:基礎編21」でした。
置換の方法を究めれば、いろんな応用に使えます。
一括でCSSクラスを変換したり、改行をなくしたり、反対に改行を付け加えたりと作業効率が大幅に上がる様な事が可能になります。基本はプログラミングでの作業効率だが、一般職での作業効率系システムにも使える技なのでしっかりと覚えておきましょう。