■プログラム説明(ソースコード説明)
選択されたテキストはselection配列に入っているのでtextRangeで読み出します。contentsプロパティに文字列が入っています。だ。をです。に置換するのでreplace(/だ。/g,"です。")と指定します。/だ。/gのようにgを指定しないと最初に見つかった文字のみが置換されます。処理された結果が返されるので、contentsプロパティに入れます。
■ソースコード
sel = activeDocument.selection;
for (i=0; i<sel.length; i++)
{
txtRange = sel[i].textRange;
txtRange.contents= txtRange.contents.replace(/だ。/g,"です。");
}
■使い方
1:置換するテキストブロックを選択します。
2:ファイルメニューからスクリプトを実行します。
3:文字が置換されます。
■ポイント
文字列全体で置換する場合には/〜/gのようにg(グローバルマッチ)を指定します。指定しない場合には一番最初に見つかった文字列が置換されます。/〜/iのようにiを指定するとアルファベットの大文字小文字を無視して置換を行います。/〜/giのように2つ指定することもできます。
replace()の書式は以下のようになります。
検索対象文字列.replace(正規表現文字列,置換文字列)
文字列を置換するのでなく、存在するかどうか調べるにはreplace()の代わりにmatch()を使います。match()の書式は以下のようになります。
検索対象文字列.match(正規表現文字列)
match()を使い規則に従っていない文章などのチェックを行うことができます。(です、ます調になっているかどうか調べる場合や句読点が統一されているかどうかなど)
■実際のスクリプトをダウンロード(sample.js.zip)