Autohotkey 按字母顺序排列清单

Autohotkey 按字母顺序排列清单,autohotkey,alphabetical,alphabet,alphabetical-sort,Autohotkey,Alphabetical,Alphabet,Alphabetical Sort,我正在寻找一种方法来真正按字母顺序排列列表。假设它是一个基本单词的列表,例如:黑色绿色红色蓝色蜡质活的多孔的固体液体紫色是否有办法修改此代码,以按字母顺序排列“红色”在“固体”之前的列表?以下是我目前掌握的情况: SaveVar=%ClipboardAll% Clipboard= Send ^c ClipWait, 0.5 Sort clipboard, CL ;Process exceptions Sort := RegExOmit (Sort, "The") Send ^v Sleep 10

我正在寻找一种方法来真正按字母顺序排列列表。假设它是一个基本单词的列表,例如:
黑色
绿色
红色
蓝色
蜡质
活的
多孔的
固体
液体
紫色

是否有办法修改此代码,以按字母顺序排列“红色”在“固体”之前的列表?以下是我目前掌握的情况:

SaveVar=%ClipboardAll%
Clipboard=
Send ^c
ClipWait, 0.5
Sort clipboard, CL
;Process exceptions
Sort := RegExOmit (Sort, "The")
Send ^v
Sleep 100
Clipboard=%SaveVar%
SaveVar=
return

编写一个自定义比较函数,忽略起始的“子字符串”

list = Black`nGreen`nThe Red`nBlue`nWaxy`nLiving`nPorous`nSolid`nLiquid`nViolet`nThe Azure

Sort , list , F Compare
MsgBox, %list%

Compare( a , b )
{
    arem := RegExReplace(a, "A)The " , "" )
    brem := RegExReplace(b, "A)The " , "" )

    return arem > brem ? 1 : arem < brem ? -1 : 0
}
list=Black`nGreen`nred`nBlue`nWaxy`nLiving`npour`nSolid`nLiquid`nViolet`nAzure
排序、列表、F比较
MsgBox,%list%
比较(a,b)
{
arem:=RegExReplace(a,“a”)The“,”)
brem:=RegExReplace(b,“A”)The“,”)
返回arem>brem?1:arem
正则表达式用于从字符串中删除子字符串“”,并将结果存储在临时字符串中,然后用于比较


子字符串必须从字符串的开头开始,regex option
A)
,并且必须在
之后立即包含一个空格,谢谢,这很有帮助。我又玩了一些,发现了如何为字母排序器添加更多的异常。比较(a,b){arem:=RegExReplace(a,“)The | a | a | An | An”,brem:=RegExReplace(b,“)The | a | An | An,”)return arem>brem?1:arem