ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

AppleScriptコミュのTextEditで文字列を置換するためのスクリプト

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。色々探したのですがどうしてもわからないので質問させてください。

AppleScriptでぼくが実現したいことはタイトルの通り、

1. TextEditで作成されたファイルを開く

2. テキスト内の"22"をすべて"e"に置換

3. テキスト内の"00"をすべて"a"に置換

4. ファイル名"aaa.rtf"を"aaa_ok.rtf"にして保存する

というものです。フォルダを指定してバッチ処理なんてできたら最高です。
用途はフランス語文書作成です。
アルファベットにアクセントがついたものは22とか77,00で記述して後で一括変換したいのです。

どうかよろしくお願いします。

コメント(4)

「AppleScript」「検索」「置換」などでぐぐると、いろいろ出てくると思います。

TextEditとのやり取り・フランス語には疎いのですが(AppleScript自体疎いのですが)、以下のようにするとテキストの置換ができるようです。

set _text to "112233445566778899001122334455"
set AppleScript's text item delimiters to "22"
set _text to every text item of _text
set AppleScript's text item delimiters to "e"
set _text to _text as string

中途半端な答えしかできなくて申し訳ないですが、返信がなかったようなので、書き込ませて頂きました。
例えば、次のようにすると一括で置き換えができます。

tell application "TextEdit"
tell front document
set words of text of it whose it contains "22" to "e"
end tell
end tell

使い方は、22の部分を他の数字に、eを置き換えたい文字に。
以下、注意点。
1.例えば、22も2222も同じようにeに置き換わります。
2.置き換えたくない部分があっても全ての22は、eに変わってしまいます(全角数字、半角数字は区別します)。
3.AppleScriptでアクセント付きの文字が入力できるか、不明。日本語環境では、エラーになります。言語環境変えると大丈夫なのかもしれませんが、試していません。
早速ご返事ありがとうございます。貴重な時間を割いていただいて、とても感謝しています。

>> Cazさん
機能としてはまさにこれです。この機能をテキストエディット書類の内容に適応したいんです。

>>ちゃらんさん
テキストエディットに命令するところは参考になりました。機能は例えば"22l22ment"と記述したものに適用したいので・・・

あと、ちゃらんさんの言われる通りアクセント付きの文字はエラーになりますね。

またお暇であれば手伝ってくださると助かります。僕もいろいろ勉強します。
あれから色々探したのですが、やりたいこと自体はJedit Xというエディタの検索置換機能で解決できました。フォルダ内のすべてのテキストファイルの複数語句変換(バッチ処理)もできます。
AppleScriptで解決できればと漠然と考えていたのですが、アプリケーションとしてすでに存在するようなので、こちらを使ってみようかと考えています。

どうもありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

AppleScript 更新情報

AppleScriptのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング