「文字列の順番を逆に書き出す」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Sukemaru (トーク | 投稿記録)
ページを新規作成
 
MSY-07 (トーク | 投稿記録)
空行の除去
 
(2人の利用者による、間の2版が非表示)
1行目: 1行目:
5ちゃんねる『[https://egg.5ch.net/test/read.cgi/software/1529836951/534-535 テキストエディタ Mery part6]』スレッドに投稿したマクロ<br><br>
;ソースコード
;ソースコード
<source lang="javascript">
<syntaxhighlight lang="javascript">
#title = "文字列の順番を逆に書き出す"
#title = "文字列の順番を逆に書き出す"
// e.g. 「あいうえお」 → 「おえういあ」
#tooltip = "各行ごとに文字列の並び順を逆に書き出す"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",331


var s = document.selection;
  // e.g. 「あいうえお」 → 「おえういあ」
if( s.Text ) {
 
   s.Text = s.Text.split("").reverse().join("");
 
   // または
// ■ 行の並び順も入れ替える?
   // s.Text = s.Text.match(/[\s\S]/g).reverse().join("");
var invertVertical = true;
 
  // e.g. 「あいうえお」
  //      「かきくけこ」
 
  //  →  」こけくきか「
  //      」おえういあ「
 
var s = editor.ActiveDocument.selection;
if ( s.Text ) {
   var anc = s.GetAnchorPos();
  var act = s.GetActivePos();
  var tp = Math.min( anc, act );
 
  var a = s.Text.replace( /\n?$/, "" ).split( "\n" );
  for ( var i = 0, len = a.length; i < len; i ++ ) {
    a[i] = a[i].split( "" ).reverse().join( "" );
   }
   if ( invertVertical ) {
    a = a.reverse();
  }
  s.Text = a.join( "\n" ) + RegExp[ "$&" ];
  s.SetAnchorPos( tp );
}
}
</source>
</syntaxhighlight>

2024年9月9日 (月) 10:52時点における最新版

ソースコード
#title = "文字列の順番を逆に書き出す"
#tooltip = "各行ごとに文字列の並び順を逆に書き出す"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",331

  // e.g. 「あいうえお」 → 「おえういあ」


// ■ 行の並び順も入れ替える?
var invertVertical = true;

  // e.g. 「あいうえお」
  //      「かきくけこ」

  //  →  」こけくきか「
  //      」おえういあ「

var s = editor.ActiveDocument.selection;
if ( s.Text ) {
  var anc = s.GetAnchorPos();
  var act = s.GetActivePos();
  var tp = Math.min( anc, act );

  var a = s.Text.replace( /\n?$/, "" ).split( "\n" );
  for ( var i = 0, len = a.length; i < len; i ++ ) {
    a[i] = a[i].split( "" ).reverse().join( "" );
  }
  if ( invertVertical ) {
    a = a.reverse();
  }
  s.Text = a.join( "\n" ) + RegExp[ "$&" ];
  s.SetAnchorPos( tp );
}
スポンサーリンク