「文字列の順番を逆に書き出す」の版間の差分
ナビゲーションに移動
検索に移動
ページを新規作成 |
空行の除去 |
||
| (2人の利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
;ソースコード | ;ソースコード | ||
< | <syntaxhighlight lang="javascript"> | ||
#title = "文字列の順番を逆に書き出す" | #title = "文字列の順番を逆に書き出す" | ||
// | #tooltip = "各行ごとに文字列の並び順を逆に書き出す" | ||
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",331 | |||
var s = | // e.g. 「あいうえお」 → 「おえういあ」 | ||
if( s.Text ) { | |||
s. | |||
// ■ 行の並び順も入れ替える? | |||
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 ); | |||
} | } | ||
</ | </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 );
}
スポンサーリンク