K_REP
「K_REP」は、文字列の置換を複数回行うことができる命令です。
このページでは、文字処理に特化したHSP用モジュール命令セット「kurage_mod」の命令を解説しています。
【書式】
K_REP p1 , p2
p1 : var 元の文字列を代入した変数
p2 : array 置き換え前の文字列と置き換えたい文字列をを代入しておく配列変数
【解説】
対象となる文字列内の言葉を置き換えることができるモジュール命令です。
文字列の置換を一度だけ行いたい場合はK_REP_Sをお使いくださいませ。
置き換え前の文字列は 配列変数(0) に、置き換え後の文字列は 配列変数(1) に入れておかねば動作しません。
置き換え前の文字列と置き換え後の文字列によっては無限ループを誘発する可能性がありますので、ご注意くださいませ。
◆誤った使用法
置き換え前の文字列…「あいう」
置き換え後の文字列…「あいうえお」
結果…置き換え後の文字列にも「あいう」があるため、いつまでもループしてしまう。
◆解決法
上記のような場合は、一度別な文字列に置き換え、その後、目的の文字列に置き換えることで無限ループを回避できます。
1回目の置き換え…「あいう」を「★変換中★」にする
2回目の置き換え…「★変換中★」を「あいうえお」にする
【サンプル】
#include "kurage_mod\\kurage_mod.as" //HSPのフォルダ「common」内からモジュール読み込み //【その1】 //※通常の使い方です a = "今日はホストクラブに行きます。大好きなんですよ、ホストクラブ" b(0) = "ホストクラブ" : b(1) = "図書館" K_REP a,b dialog a //※結果 //今日は図書館に行きます。大好きなんですよ、図書館" //【その2】 //※置き換え前の文字列は変数でも動作します m = "メイド喫茶" : s = "スポーツクラブ" a = "今日はメイド喫茶に行きます。大好きなんですよ、メイド喫茶" b(0) = m : b(1) = s K_REP a,b dialog a //※結果 //今日はスポーツクラブに行きます。大好きなんですよ、スポーツクラブ"
【関連項目】
- K_REP_S … 文字列の置換を一度だけ行う (kurage_mod)