Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 在记事本++;_Sorting_Notepad++ - Fatal编程技术网

Sorting 在记事本++;

Sorting 在记事本++;,sorting,notepad++,Sorting,Notepad++,我有行,我想从最高的数字排序到最低的或相反的,所以不是真正的问题 例 由此: steven:class3 | Pounds: 6 ibesom:class1 | Pounds: 125 heller:class1 | Pounds: 13 为此: ibesom:class1 | Pounds: 125 heller:class1 | Pounds: 13 steven:class3 | Pounds: 6 感谢大家对于简单的排序任务,您只需重新排列行的内容,排序,然后将行返回到原始形式即可。

我有行,我想从最高的数字排序到最低的或相反的,所以不是真正的问题

例 由此:

steven:class3 | Pounds: 6
ibesom:class1 | Pounds: 125
heller:class1 | Pounds: 13
为此:

ibesom:class1 | Pounds: 125
heller:class1 | Pounds: 13
steven:class3 | Pounds: 6

感谢大家

对于简单的排序任务,您只需重新排列行的内容,排序,然后将行返回到原始形式即可。这通常可以通过简单的正则表达式来实现。有关示例,请参见

对于更复杂的情况,可能涉及两个或更多项,可以使用正则表达式从输入行收集要排序的项,然后将其插入行的开头。在排序项和原始行之间添加分隔符非常有用。完成排序后,将删除排序项和分隔符

对于这个问题,一个简单的重新排列,然后排序,再重新排列回来就足够了。但是,使用更一般的风格是有益的

首先,选择一个分隔符。使用未出现在要排序的文本中的字符或字符串。为此,我选择了
;'#

接下来,创建一个正则表达式find and replace来提取搜索词并构建要排序的行。为此,请查找什么是
^(.*)\b(\d+)$
,替换为
$2;'#$0

这将示例输入更改为:

6 ;'#steven:class3 | Pounds: 6
125 ;'#ibesom:class1 | Pounds: 125
13 ;'#heller:class1 | Pounds: 13
现在使用菜单=>编辑=>行操作=>按整数升序排序。这将产生:

6 ;'#steven:class3 | Pounds: 6
13 ;'#heller:class1 | Pounds: 13
125 ;'#ibesom:class1 | Pounds: 125
使用的方法不限于整数。可以使用任何字符和使用的适当排序来构建排序术语

最后一步是删除排序项和分隔符。使用正则表达式替换所有查找
^.*;'#并替换为空

唯一的挑战是创建第一个正则表达式来生成排序项并将其添加到行中。总体计划是查找与整个输入行匹配的内容,因此它以
^
开始,以
$
结束。然后替换为包含三项“排序项”、“分隔符”和
$0
。最后的
$0
包含整个原始输入行