指定文字を置換、削除する方法
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" ) ;
関連記事
- 要素の位置座標を取得する方法
- 指定した要素の位置座標を取得します。
- スクロールをする方法
- 絶対的、相対的に位置を指定して、スクロールします。
- class属性値を取得、変更する方法
- 要素のclass属性値を取得、変更、確認する方法をまとめています。
- 文字の登場回数を取得する方法
- あるテキストに含まれる文字の数を調べるには、match()を応用します。
- UNIXタイムスタンプを取得する方法
- JavaScriptでPHPのtime()、strtotime()と同じようにUNIX TIMESTAMPを取得します。