SYNCERのロゴ
アイキャッチ画像

指定文字を置換、削除する方法

JavaScriptを使って、文字の一部を置換したり削除する方法を説明します。利用するメソッドはreplace()です。

サンプルコード

「う」を「く」に置換する例です。

var sourceStr = "ううううう" ;
var a = sourceStr.replace( /う/g , "く" ) ;

デモ

置換 (文字列)

「う」という文字を「く」に置換する例です。 置換後の文字(「く」の部分)を空文字にすれば削除できます。

var sourceStr = "あいうえおあいうえお" ;

var a = sourceStr.replace( /う/g , "く" ) ;
a =

置換 (変数を利用)

置換対象の文字列を変数で指定するには、RegExpオブジェクトの、コンストラクタの第1引数に変数を指定します。下記は前項と同じ内容です。

var sourceStr = "あいうえおあいうえお" ;

var targetStr = "う" ;

var regExp = new RegExp( targetStr, "g" ) ;

var a = sourceStr.replace( regExp , "く" ) ;
a =

備考

正規表現を使わない場合

replace()の第1引数(置換前の値)を文字列で指定した場合、文字列の中の最初の1つしか置換されません。これはハマりやすいので覚えておきましょう。

var sourceStr = "うううう" ;

var a = sourceStr.replace( "う" , "く" ) ;
a =

RegExpオブジェクト

最初の1つだけでなく、全ての文字列を置換するには、RegExpという正規表現用のオブジェクトを作成します。作成方法は、正規表現リテラルを用いる方法と、コンストラクタを用いる方法の2種類です。下記は2つとも同じ内容です。gというのはglobal match(グローバルマッチ)の頭文字で、「条件に合う全ての対象を置換する」という意味です。これを付けない場合は最初の1つだけが置換されます。コンストラクタの第1引数には変数を用いることが可能です。

// リテラル
var regExp = /う/g ;

// コンストラクタ
var regExp = new RegExp( "う", "g" ) ;
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月22日 (木)
コンテンツを公開しました。