こんばんわ、ぺんしるです。
プログラムをしていると文字列の置き換えをおこないたい場合があります。
たとえば、HTMLの<br>タグを改行コードに置き換えたい場合や、コロン(:)をカンマ(,)に置き換えたい場合等があります。
そんな時に必ず使うreplace()メソッドについて、今日は説明していきます!!
業務では一度は使うメソッドですので、覚えておいてくださいね。
文字列の置き換え
文字列の置き換えは、replace()メソッドを使います。
以下の例では、文字列testのsをkに置き換えています。
var a= 'test';
var ret = a.replace('s', 'k');
console.log(ret); //tektが出力される
注意すべきは、replace()メソッドは最初に一致した1文字のみを置き換える点です。2文字目は置き換えません。 文字列の全ての文字を置き換えたい場合は、正規表現を使用します。
正規表現
正規表現を使った文字列の置き換え方法を説明しますね。
正規表現はエンジニア歴が長い人でも理解が難しい部分で、はまるポイントでもあります。
理解が難しければ、以下の本が参考になりますよ。
以下の例では、testのtをkに置き換えています。
gフラグをつけることで、文字列の全てのマッチ箇所を置き換えることができます。
var a= 'test';
var ret = a.replace(/[t+]/g, 'k');
console.log(ret); //keskが出力される
以下は、ちょっと応用で<br>を改行に置換しています。\nは改行コードを意味しています。
var a= 'te<br>st';
var ret = a.replace(/<br>/g, '\n');
console.log(ret);
//te
//st
//が出力される
反対に、改行コードを<br>に置き換えるには以下のように記載します。
var a= 'te\nst';
var ret = a.replace(/\n/g, '<br>');
console.log(ret);
//te<br>stが出力される
同じように、文字列から文字を削除するには以下のように記載します。
var a= 'test';
var ret = a.replace(/[t+]/g, '');
console.log(ret); //esが出力される
最後に
いかがでしたか?
不明点があれば、遠慮なくこちら、またはこちら(匿名での質問ができます)からご質問くださいね。
ではでは。。
コメント