stringObject.replace( RegExp, function )メソッドは、Stringオブジェクトの文字列のうち、引数「RegExp」に指定した正規表現にマッチした部分文字列を、引数「function」に指定した関数からの戻り値に置き換えるメソッド。
構文
stringObject.replace( RegExp, function )
引数
- RegExp
- 正規表現を指定する。
- function
- 置換文字列を返す関数。
戻り値
置換後文字列。
置き換え用関数の構文
function functionName( $substring, $0, $1, $2, …, $n, $offset, $string ) {
return 置換文字列;
}
return 置換文字列;
}
引数
- $substring
- マッチした部分文字列。
- $0, $1, $2, …, $n
- サブマッチ部分文字列。
- $offset
- マッチした部分文字列の位置。マッチした部分文字列の最初の文字のインデックス。
- $string
- 置換対象文字列。
サンプル
正規表現にマッチした部分文字列を小文字に置き換え
<script type="text/javascript">
function replacerFunc( $substr ) {
return $substr.toLowerCase();
}
var $sampleString = new String( 'ABCDEFG ABCDEFG' );
var $results = $sampleString.replace( /[A-C]/g, replacerFunc );
document.write( $results );
document.write( '<br />' );
</script>
function replacerFunc( $substr ) {
return $substr.toLowerCase();
}
var $sampleString = new String( 'ABCDEFG ABCDEFG' );
var $results = $sampleString.replace( /[A-C]/g, replacerFunc );
document.write( $results );
document.write( '<br />' );
</script>
↓↓↓出力結果↓↓↓
サブマッチ
<script type="text/javascript">
function replacerFunc( $str, $0, $1, $2 ) {
return '「' + $0 + '『' + $1 + '』' + $2 + '」';
}
var $sampleString = new String( 'ABCDEFG ABCDEFG' );
var $results = $sampleString.replace( /(A)(B)(C)/g, replacerFunc );
document.write( $results );
document.write( '<br />' );
</script>
function replacerFunc( $str, $0, $1, $2 ) {
return '「' + $0 + '『' + $1 + '』' + $2 + '」';
}
var $sampleString = new String( 'ABCDEFG ABCDEFG' );
var $results = $sampleString.replace( /(A)(B)(C)/g, replacerFunc );
document.write( $results );
document.write( '<br />' );
</script>
↓↓↓出力結果↓↓↓