replace

正規表現で文字列の置換を行う

val = replace(p1,p2,p3,p4,p5,p6)

p1:検索される文字列
p2:検索する文字列
p3:置き換える文字列
p4(0):大文字と小文字を区別するなら1
p5(0):最初に一致した部分だけを置換するなら1
p6(0):全体を一つの行と見なすなら1

(プラグイン / モジュール : mod_regexp)

解説

p1の文字列のなかでp2に一致した部分をp3で置き換えた文字列を返します。
p2には正規表現のパターンを指定します。
p4を1にすると大文字と小文字を区別します。0や省略した場合は区別しません。
p5を1にすると最初に一致した部分だけを置換します。0や省略した場合は全ての一致した部分を置換します。
p6を1にするとメタ文字 ^ と $ が改行直後・直前に対応しません。0や省略した場合は対応します。
正規表現のパターンについてはmatchの項目を参照してください。

p3には以下の特殊文字が使用できます。
文字説明
$numnum番目のサブマッチ文字列に置換されます。一つ目のサブマッチは$1で最大$99まで指定できます。
$&p2に一致した文字列に置換されます。
$`p1の中で、p2に一致した文字列よりも前方の部分に置換されます。
$'p1の中で、p2に一致した文字列よりも後方の部分に置換されます。
$$$に置換されます。

サンプル

#include "mod_regexp.as"
a={"
	太郎:50,100,70
	一郎:30,50,60
	花子:60,40,50
"}
mes replace(a,":","の成績:")

 ;---------------結果--------------
 ;太郎の成績:50,100,70
 ;一郎の成績:30,50,60
 ;花子の成績:60,40,50

mes replace(a,"(.*):(\\d+),(\\d+),(\\d+)","$1の成績:算数=$2,国語=$3,社会=$4")

 ;---------------結果--------------
 ;太郎の成績:算数=50,国語=100,社会=70
 ;一郎の成績:算数=30,国語=50,社会=60
 ;花子の成績:算数=60,国語=40,社会=50

関連項目

match正規表現で検索して最初に一致した文字列を返す(mod_regexp)
submatch正規表現で検索して最初に一致したサブマッチ文字列を返す(mod_regexp)
matches正規表現で検索した複数の結果を取得する(mod_regexp)

サンプル逆引き (2)

comtest9.hsp
sample_02_memolite.hsp

情報

プラグイン / モジュールmod_regexp
備考Internet Explorer 5.5 以上が必要
グループ正規表現検索命令
ヘッダファイルcommon\mod_regexp.as