2010年02月15日

たまに見に来てくれる方、大変ありがとうございます。
年明けから全く更新していませんが、ちょこちょこと小ネタをアップしていいこうかと思っております。

今日はmatch(),replace()を使った検索置換のメモ

インデザインの検索置換機能を使うまでもないような、ちょっとした検索置換を行いたいときによく使っています。
正規表現も使えるのでとても便利だなぁと感じています。

//正規表現を使った検索置換match()、replace()
//テキストフレームを選択して実行

var tfObj = app.activeDocument.selection[0];

//テキストを保持できるオブジェクトへのテキスト操作は、contentsを介して行う
//テキストフレームにテキスト"abcdefg"を代入

tfObj.texts[0].contents = "abcdefg";

//contentsを使うことでテキストフレーム内の文字を正規表現で検索することができる

//正規表現検索 match(/★/); ★部分に検索したい文字を入力する
//"a"を検索

var myText = tfObj.texts[0].contents.match(/a/);
//myTextには検索にヒットした"a"が入る
alert(myText); //"a"が表示される

//条件として使う
//"a"があったら、ボディを実行

if ( tfObj.texts[0].contents.match (/a/) ) {
    alert(true);
}

//正規表現
//先頭の文字が "a" である文字列を検索 /★/ 部分
// /~a/
//行末
// /a$/
// 複数の文字のどれかを検索 "abc" のどれかがあればヒットする
// /[abc]/
// "a" または" "(半角スペース)
// /[a ]/

//正規表現置換 replace(/★/, "●");  ★部分にマッチした文字を●に置き換える
//置換したテキストを 変数に代入

var myText = tfObj.texts[0].contents.replace (/a/, "あ");
//置換したテキストを、元のテキストに置き換える
tfObj.texts[0].contents = myText;
alert(tfObj.texts[0].contents);

今日はこんな感じです。ぷっくっく


(23:33)

トラックバックURL

コメントする

名前
URL
 
  絵文字