JavaScript 文字列の置き換え - replace/replaceAll

2009/02/07 20:57 Update
TAGS: JavaScript | 置換 | 文字列 | String | replace | replaceAll
サンプルからJavaScript 文字列の置き換えのN種記述方法

最初にマッチした文字列のみの置換


1)テキスト置換
使い方例:
var value="Hello World";
value.replace("o", "*");



2)正規表現式による置換
使い方例:
var value="Hello World";
value.replace(/o/, "*");


置換文字列の前後に"/"を付けることで、正規表現式による置換になります。


すべてマッチした文字列の置換(全置換)


Javascriptの文字列オブジェクトにreplaceAllという関数が提供されていませんが、少なくとも次の3つの方法があると思います。

1)g スイッチ
正規表現式の後ろに"g"を記述すれば、文字列の全置換になります。
使い方例:
var value="Hello World";
value.replace(/o/g, "*");



2)split/join関数
使い方例:
var value="Hello World";
value.split("o").join("*");



普段の場合、次のようなreplaceAll関数を定義しておけば、便利でしょう。
// 全ての文字列 s1 を s2 に置き換える
function replaceAll(expression, org, dest){
    return expression.split(org).join(dest);
}


使い方例:
var value="Hello World";
replaceAll(value, "o", "*");


3)Stringクラスを拡張
// 全置換:全ての文字列 org を dest に置き換える
String.prototype.replaceAll = function (org, dest){
  return this.split(org).join(dest);
}

上のように書いておけば String クラスにreplaceAll関数が追加されます。
使い方例:
var value="Hello World";
value.replaceAll("o", "*");


.

Sponsored Link


有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Comments

☆☆☆

1 - javascript replace2011/05/24 23:43

今私は多くのことを学んだ、情報をいただき、ありがとうございます。