0

我想知道notepad++中是否有一个选项可以按第二个值对文本文件进行排序。

我有一个看起来像这样的 txt:

('sinon', 143)
('serais', 113)
('sens', 107)
('se', 323)
('sans', 113)
('sais', 702)
('sa', 137)
('s', 382)
('rien', 619)
('quoi', 611)

我试图按数字的值而不是按字母顺序使用记事本对它进行排序,但到目前为止没有成功。我也尝试了一些python,但由于我不太擅长编码,所以在这里没有成功。

4

2 回答 2

1

我是 EmEditor 的开发者。如果你是 EmEditor,你可以切换到 CSV 模式,选择第二列,然后选择“从最小到最大排序”命令。 在 EmEditor 中按列排序

于 2020-05-06T18:05:25.087 回答
0

Notepad++ 可以轻松进行排序。方法是在排序前修改每一行,然后再修改行。

对于这种情况,只需将数字之前的所有内容移动到行尾。做一个正则表达式替换所有更改^(.*, )(\d.*)$\2\1. 这会将输入文本更改为

143)('sinon', 
113)('serais', 
107)('sens', 
323)('se', 
113)('sans', 
702)('sais', 
137)('sa', 
382)('s', 
619)('rien', 
611)('quoi', 

然后使用菜单 => 编辑 => 行操作 => 将行排序为整数升序。最后以原始形式重写这些行。做一个正则表达式替换所有更改$^(.*\))(.*)\2\1.

于 2020-01-30T18:33:47.160 回答