「
テキスト整形
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
=== 並べ替え === ;★行を昇順/降順並べ(Unicode) :Unicode 順に並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["行を昇順並べ(Unicode)","L",function(_){ //2017-06-25 return _.replace(/\uFFFF/g,"\uFFFF_").replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"\uFFFF$&").split("\n").sort().join("\n").replace(/\uFFFF([\uD800-\uDBFF][\uDC00-\uDFFF])/g,"$1").replace(/\uFFFF_/g,"\uFFFF") }]); f.push(["行を降順並べ(Unicode)","L",function(_){ //2017-06-25 return _.replace(/\uFFFF/g,"\uFFFF_").replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"\uFFFF$&").split("\n").sort().reverse().join("\n").replace(/\uFFFF([\uD800-\uDBFF][\uDC00-\uDFFF])/g,"$1").replace(/\uFFFF_/g,"\uFFFF") }]); </syntaxhighlight> ;★行を逆順並べ <syntaxhighlight lang="javascript" copy> f.push(["行を逆順並べ","L",function(_){ //2014-10-12 return _.split("\n").reverse().join("\n") }]); </syntaxhighlight> ;行をシャッフル :ランダムに並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["行をシャッフル","L",function(_){ //2014-10-12 var a=_.split("\n"),i=a.length,j,t; while(i){j=Math.floor(Math.random()*i--); t=a[i];a[i]=a[j];a[j]=t;} return a.join("\n") }]); </syntaxhighlight> ;行を文字数順並べ :文字数の少ない順に並べ替えます。 :※符号点(コードポイント)の少ない順。結合文字列には対応していません。 :文字数の多い順に並べ替えたい場合は、<code>a.len-b.len</code> を <code>b.len-a.len</code> に書き換えてください。 <syntaxhighlight lang="javascript" copy> f.push(["行を文字数順並べ","L",function(_){ //2019-06-01 var b=_.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").split("\n"),a=_.split("\n"); for(var i=0;i<a.length;i++){a[i]={len:b[i].length,txt:a[i]}} a.sort(function(a,b){return a.len-b.len}); for(var i=0;i<a.length;i++){a[i]=a[i].txt} return a.join("\n") }]); </syntaxhighlight> ;数行毎に逆順並べ... :選択範囲を指定した行数で区切り、区間ごとに逆順に並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["数行毎に逆順並べ...","L",function(_){ //2019-06-01 var n=parseInt(Prompt("以下の行数毎に逆順並べ: ※半角数字","")); if(n>0)return (_+"\n").replace(new RegExp("(?:^.*$\\n){1,"+n+"}","gm"),function(s){return s.split("\n").reverse().join("\n")}).slice(1) }]); </syntaxhighlight> ;数行一組で逆順並べ... :選択範囲を指定した行数で一組とし、組単位で逆順に並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["数行一組で逆順並べ...","L",function(_){ //2019-06-01 var n=parseInt(Prompt("以下の行数を一組として逆順並べ: ※半角数字","")); if(n>0)return (_+"\n").match(new RegExp("(?:^.*$\\n){1,"+n+"}","gm")).reverse().join("").slice(0,-1) }]); </syntaxhighlight> ;空行毎に逆順並べ :選択範囲を空行(改行のみの行)で区切り、区間ごとに逆順に並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["空行毎に逆順並べ","L",function(_){ //2019-06-01 return (_+"\n").replace(/\n+|[\s\S]*?\n(?=\n|$)/g,function(s){return s.split("\n").reverse().join("\n")}).slice(1) }]); </syntaxhighlight> ;空行一組で逆順並べ :選択範囲を空行区切りで一組とし、組単位で逆順に並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["空行一組で逆順並べ","L",function(_){ //2019-06-01 return (_+"\n").match(/\n+|[\s\S]*?\n(?=\n|$)/g).reverse().join("").slice(0,-1) }]); </syntaxhighlight> ;指定見出しで逆順並べ... :入力した文字列から始まる行を「見出し」とし、見出し単位で逆順に並べ替えます。 <syntaxhighlight lang="javascript" copy> f.push(["指定見出しで逆順並べ...","L",function(_){ //2019-06-01 var p=Prompt("以下の文字から始まる行を一組として逆順並べ:","■").replace(/[$()*+.?\[\\\]^{|}]/g,"\\$&"); if(p){ var r=(_+"\n").match(new RegExp("[\\s\\S]*?\\n(?="+p+"|$)","g")); if(r[0].indexOf(p)!==0)r.push(r.shift()); return r.reverse().join("").slice(0,-1) } }]); </syntaxhighlight> ;※行を逆順並べ系コマンドの比較 (☐ は空白/↵ は改行) :{|class="wikitable" ! 例文 !! 数行毎<br>(3行) !! 数行一組<br>(3行) !rowspan="2" width="6px"| ! 例文 !! 空行毎 !! 空行一組 |- | 1行目1組<br>2行目<br>3行目<br>4行目2組<br>5行目<br>6行目<br>7行目3組<br>8行目<br>9行目<br>10行目4組<br>11行目 | 3行目<br>2行目<br>1行目1組<br>6行目<br>5行目<br>4行目2組<br>9行目<br>8行目<br>7行目3組<br>11行目<br>10行目4組 | 10行目4組<br>11行目<br>7行目3組<br>8行目<br>9行目<br>4行目2組<br>5行目<br>6行目<br>1行目1組<br>2行目<br>3行目 | 1行目1組↵<br>2行目↵<br>3行目↵<br>↵<br>5行目2組↵<br>6行目↵<br>☐☐↵<br>8行目↵<br>↵<br>10行目3組↵<br>11行目 | 3行目↵<br>2行目↵<br>1行目1組↵<br>↵<br>8行目↵<br>☐☐↵<br>6行目↵<br>5行目2組↵<br>↵<br>11行目↵<br>10行目3組 | 10行目3組↵<br>11行目↵<br>↵<br>5行目2組↵<br>6行目↵<br>☐☐↵<br>8行目↵<br>↵<br>1行目1組↵<br>2行目↵<br>3行目 |} ;文字を逆順並べ :各行の文字を逆順に並べ替えます。 :例> <span style="background:#bfdfff;">文字を逆順並べ</span> → べ並順逆を字文 :※[https://unicode.org/reports/tr29/ UAX #29] で規定される「拡張書記素クラスタ」に部分的に対応しています。対応していない文字は位置がズレます。 :* サロゲートペア (U+10000~10FFFF) :* 結合文字の一部 (U+0300~6F, 1AB0~FF, 1DC0~FF, 20D0~FF, 3099~A, FE20~F) :* 異体字セレクタ (U+180B~D, FE00~F, E0100~EF) :* ゼロ幅非接合子/接合子 (U+200C~D) :* 絵文字の国旗 (U+1F1E6~FF) :* 絵文字の肌色指定 (U+1F3FB~F) :* 結合不可の制御文字 (U+0000~1F, 007F~9F, 00AD, 2028~9, FEFF) :例> <span style="background:#bfdfff;">𠮟る/りんご/tréma</span> → amért/ごんり/る𠮟 :{|class="wikitable" style="text-align:center;" ! 例文 |colspan="2"|𠮟||る !rowspan="6" width="6px"| |り||ん||colspan="2"|ご !rowspan="6" width="6px"| |t||r||colspan="2"|é||m||a |- ! Unicode |colspan="2"|20B9F||308B |308A||3093||style="background:#fe6;"|3053||style="background:#fcc;"|3099 |0074||0072||style="background:#fe6;"|0065||style="background:#fcc;"|0301||006D||0061 |- ! UTF-16 |style="background:#fe6;"|D842||style="background:#fcc;"|DF9F||308B |colspan="4"|※同上 |colspan="6"|※同上 |- !rowspan="3"|実行後 |る||colspan="2"|𠮟 |colspan="2"|ご||ん||り |a||m||colspan="2"|é||r||t |- |308B||colspan="2"|20B9F |style="background:#fe6;"|3053||style="background:#fcc;"|3099||3093||308A |0061||006D||style="background:#fe6;"|0065||style="background:#fcc;"|0301||0072||0074 |- |308B||style="background:#fe6;"|D842||style="background:#fcc;"|DF9F |colspan="4"|※同上 |colspan="6"|※同上 |} <syntaxhighlight lang="javascript" copy> f.push(["文字を逆順並べ","s",function(_){ //2017-06-25 var X=new RegExp(/[\x00-\x1F\x7F-\x9F\xAD\u2028\u2029\uFEFF]|(?:(?:\uD83C[\uDDE6-\uDDFF]){2}|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\s\S])(?:[\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF\u20D0-\u20FF\u3099\u309A\uFE20-\uFE2F\u200C\u200D\u180B-\u180D\uFE00-\uFE0F]|\uDB40[\uDD00-\uDDEF]|\uD83C[\uDFFB-\uDFFF])*/g); return _.replace(/[^\n]+/g,function(s){return s.match(X).reverse().join("")}) }]); </syntaxhighlight> ;文字をシャッフル :各行の文字をランダムに並べ替えます。 :例> <span style="background:#bfdfff;">文字をシャッフル</span> → フ字をャシッル文 <syntaxhighlight lang="javascript" copy> f.push(["文字をシャッフル","s",function(_){ //2017-06-25 var X=new RegExp(/[\x00-\x1F\x7F-\x9F\xAD\u2028\u2029\uFEFF]|(?:(?:\uD83C[\uDDE6-\uDDFF]){2}|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\s\S])(?:[\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF\u20D0-\u20FF\u3099\u309A\uFE20-\uFE2F\u200C\u200D\u180B-\u180D\uFE00-\uFE0F]|\uDB40[\uDD00-\uDDEF]|\uD83C[\uDFFB-\uDFFF])*/g); return _.replace(/[^\n]+/g,function(s){var a=s.match(X),i=a.length,j,t; while(i){j=Math.floor(Math.random()*i--); t=a[i];a[i]=a[j];a[j]=t;} return a.join("")}) }]); </syntaxhighlight>
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク