按长度和字母顺序排序

时间:2014-11-23 19:10:13

标签: sorting text notepad++ text-editor

任何人都知道如何在Notepad ++或其他文本编辑器中以这种方式对行进行排序?

基本上我想转此:

Dog
Cat
Horse
Elephant
Pig
Sheep
Mouse

Cat
Dog
Pig
Horse
Mouse
Sheep
Elephant

2 个答案:

答案 0 :(得分:0)

SynWrite 中,您可以制作插件。拨打#34;工具 - 新插件",输入" mysort"。输入文字并保存

from sw import *

class Command:
    def run(self):
        text = ed.get_text_all()
        end = ed.get_prop(PROP_EOL)
        text = text.split(end)
        text = sorted(text, key = lambda x: '%5s'%len(x)+x)
        text = end.join(text)
        ed.set_text_all(text)

然后通过"工具 - 插件"。

进行呼叫

答案 1 :(得分:0)

无需插件的Notepad ++指令:

首先,必须确保您拥有“ CR”行结尾或“ CR LF”行结尾,并且不仅仅是“ LF”行结尾。您可以通过点击编辑菜单> EOL转换> Windows(CR LF)或Macintosh(CR)来转换为(CR LF)或(CR)。

完成此操作后,您可以选择要排序的行,然后单击“编辑”菜单>“行操作”>“按字典顺序对行进行升序(或降序)排序”。

这将以区分大小写的方式对行进行排序,如下所示:
A
B
C
一个
b
c