Macro/投稿/225

http://sakura.qp.land.to/?Macro%2F%C5%EA%B9%C6%2F225


Top > Macro > 投稿 > 225

選択範囲の文字列をリバース/シャッフル

  • ページ: Macro/投稿
  • 作者: みけCAT?
  • カテゴリー: js
  • 投稿日: 2014-01-18 (土) 11:14:45

メッセージ

選択範囲の文字列をリバース/シャッフルします。
行単位ではなく、文字単位で処理が行われます。

元の文字列サクラエディタ
リバースタィデエラクサ
シャッフルィラタクデサエ

※シャッフルの結果はランダムになります

filereverseStr.js
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
// 選択範囲の文字列を逆順にする
 
var crlfFlag=(GetLineCode()==0);
 
var txt=GetSelectedString();
var txtArr=new Array();
for(var i=0;i<txt.length;i++) {
    if(crlfFlag && i+1<txt.length && txt.charAt(i)=="\r" && txt.charAt(i+1)=="\n") {
        txtArr.push("\r\n");
        i++;
    } else {
        txtArr.push(txt.charAt(i));
    }
}
 
for(var i=0;i<txtArr.length-1-i;i++) {
    var tmp=txtArr[i];
    txtArr[i]=txtArr[txtArr.length-1-i];
    txtArr[txtArr.length-1-i]=tmp;
}
 
InsText(txtArr.join(""));
fileshuffleStr.js
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
// 選択範囲の文字列をシャッフルする
 
var crlfFlag=(GetLineCode()==0);
 
var txt=GetSelectedString();
var txtArr=new Array();
for(var i=0;i<txt.length;i++) {
    if(crlfFlag && i+1<txt.length && txt.charAt(i)=="\r" && txt.charAt(i+1)=="\n") {
        txtArr.push("\r\n");
        i++;
    } else {
        txtArr.push(txt.charAt(i));
    }
}
 
for(var i=txtArr.length-1;i>0;i--) {
    var pos=~~(Math.random()*(i+1));
    var tmp=txtArr[i];
    txtArr[i]=txtArr[pos];
    txtArr[pos]=tmp;
}
 
InsText(txtArr.join(""));


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

添付ファイル: fileshuffleStr.js 175件 [詳細] filereverseStr.js 209件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2014-01-18 (土) 11:15:07 (1762d)