「連続する重複行を削除」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
配列をarray = []に修正
MSY-07 (トーク | 投稿記録)
ソースコードの最適化
13行目: 13行目:
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------


if (document.selection.Text == "") {
var sel = document.selection;
document.selection.SelectAll();
if (sel.Text == "") {
sel.SelectAll();
}
}
var s1 = document.selection.Text.split("\n");
var s1 = sel.Text.split("\n");
var s2 = [];
var s2 = [];
for (var i = 0; i < s1.length; i++) {
for (var i = 0; i < s1.length; i++) {
23行目: 24行目:
}
}
}
}
document.selection.Text = s2.join("\n");
sel.Text = s2.join("\n");
document.selection.StartOfDocument();
sel.StartOfDocument();
</syntaxhighlight>
</syntaxhighlight>

2024年12月31日 (火) 02:49時点における版

このマクロはMeryのMacrosフォルダに同梱されています。

概要

編集中の文書の重複する行を削除します。昇順・降順で並べ替えと併せて使用するとさらに効果的です。

ソースコード

// -----------------------------------------------------------------------------
// 連続する重複行を削除
//
// Copyright (c) Kuro. All Rights Reserved.
// www:    https://www.haijin-boys.com/
// -----------------------------------------------------------------------------

var sel = document.selection;
if (sel.Text == "") {
	sel.SelectAll();
}
var s1 = sel.Text.split("\n");
var s2 = [];
for (var i = 0; i < s1.length; i++) {
	if (i == 0 || s1[i-1] != s1[i]) {
		s2.push(s1[i]);
	}
}
sel.Text = s2.join("\n");
sel.StartOfDocument();
スポンサーリンク