【问题标题】:How can AutoHotkey keep the order of the second column while sorting the numbers in the first column in descending order?AutoHotkey如何在对第一列中的数字进行降序排序的同时保持第二列的顺序?
【发布时间】:2020-06-02 12:32:41
【问题描述】:

使用 AutoHotkey 按“CL”排序会在单词列中产生最佳顺序(按字母数字从上到下排序:1、2、10、11、a、ä、aa、aä 等)。

$F3::
frequency_word :=
(
"2  bb
2   aa
1   b
1   a
3   bbb
3   aaa"
)
Sort, frequency_word, CL
; Sort, frequency_word, R
MsgBox, 262144, Note, % frequency_word
return

输出

1   a
1   b
2   aa
2   bb
3   aaa
3   bbb

如果再使用“Sort,frequency_word,R”,结果如下:

3   bbb
3   aaa
2   bb
2   aa
1   b
1   a

这里只对第一列数字的顺序进行从上到下的降序排序,不改变单词列的顺序。然后它应该看起来像这样:

3   aaa
3   bbb
2   aa
2   bb
1   a
1   b

R N

frequency_word := 
(
1   a
1   b
2   aa
2   bb
)`

输出是:

2   aa
2   bb
1   b
1   a

这是一个相关来源:https://www.autohotkey.com/docs/commands/Sort.htm

【问题讨论】:

  • 请注意,AHK 在这里看到的不是两个单独的列,而是六行一列的字符串。如果您希望得到最后一个框中所示的输出,您可能需要对数据执行更多操作或将数据存储在不同的结构中。

标签: sorting row multiple-columns autohotkey word-frequency


【解决方案1】:

您可以按第二列排序一次(使用选项 P2),然后按第一列排序

【讨论】:

  • 我用 P2 尝试了不同的方法,并注意到第一列也已排序。那么应该怎么显示呢?
【解决方案2】:

试试这个

Sort, frequency_word, R N 

R:按相反顺序排序(按字母顺序或数字顺序,取决于其他选项)。

另一个选项 = N(数字)。

【讨论】:

    【解决方案3】:

    正则表达式创建的变量可以存储在数组中以对元素进行排序 (autohotkey.com/board/topic/93570-sortArray2)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-09
      • 2022-01-15
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      相关资源
      最近更新 更多