DTPab

印刷やデザイン、アドビ製アプリやスクリプトなど、雑多な技術ブログ

テキストを改行単位でひっくり返すJXA

rtfファイルから矩形選択したテキストが、うまくコピーできない。どうやらクリップボードに送られる順序がおかしいっぽい。

なので選択したテキストを改行単位で一度分割し、逆順に並べ替えてしまうJXA書きました。

function run(input, parameters) {
    var textAry = input.toString().split(/[\r\n]+/);
    textAry.reverse();
    return textAry.join("\n");
}

Automator側の設定はいつもと同じです。

f:id:uske_S:20200302105010p:plain
Automatorの設定

テキストを選択してコンテキストメニュー>サービスから呼び出せます。 f:id:uske_S:20200302105324g:plain

大人の事情でサービス一覧は見せられないのであしからず。

最後の行、テキストを連結する文字を\nと指定してますが、好きに変えてもらっても便利かも。 return textAry.join("");ってやると改行も何も挿入せず、単純にテキストが一続きになります。