我可以根据某个字符对文本进行排序吗?

我可以根据某个字符对文本进行排序吗?

我有一个很大的列表,正在尝试对其进行排序,但我想根据某个字符之后的值对列表进行排序。例如:

241&name=A
123&name=C
645&name=B

所以我想按“A、B、C”等字母顺序对列表进行排序。我可以在 Notepad++ 或 Excel 中执行此操作吗?

答案1

Notepad++ 解决方案

  1. “菜单” > “TextFX” > “TextFX 工具”,然后选择以下之一:

    • 清除“+升序排序”选项的复选标记以按降序排序。

    • 选中“+升序排序”选项,即可按升序排序。

    在此处输入图片描述

  2. 选择文本,可以是文本行或文本列

    • 对于列模式选择 - 按住Shift+Alt向下,用鼠标选择文本

    在此处输入图片描述

  3. “菜单” > “TextFX” > “TextFX 工具”,然后选择以下之一:

    • “按区分大小写的方式对行进行排序(在列中)”

    • “对行进行排序不区分大小写(在列)”

    在此处输入图片描述

  4. 结果(前后):

    在此处输入图片描述在此处输入图片描述

笔记:

  • TextFX Tools 将仅对您选择的行进行排序。如果您执行列模式选择(按住 Shift + Alt 键并通过鼠标选择文本),则它将对至少部分选定的所有行进行排序,但将根据选定部分进行排序。

  • 选项“+排序仅输出唯一(在列)行”可以独立于“+升序排序”选项进行勾选(意味着它将以升序或降序模式工作)。启用后,排序时将删除重复条目,仅留下唯一条目。

  • 当使用矩形选择时,行的排序键是该行位于选择范围内的部分。

来源使用插件 TextFX 对行进行排序


如果我没有 TextFX 插件怎么办?

插件管理器安装:

安装插件最简单的方法是使用插件管理器

  1. “菜单” > “插件” > “插件管理器” > “显示插件管理器”

  2. 选择“可用”

  3. 选择“TextFX 字符”

  4. 点击“安装”

手动安装:

  1. 关闭 Notepad++

  2. 从以下位置下载 zip 文件http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/

  3. 解压到 Notepad++plugins目录。

  4. 运行 Notepad++

答案2

Excel 解决方案

此解决方案适用于以下任意长度的文本:=

  1. 将数据粘贴到 Excel 中。
  2. 使用公式=MID(A1,FIND("=",A1)+1,LEN(A1)-FIND("=",A1))来获取=
  3. 按新列排序

在此处输入图片描述

答案3

包含列中的数据A, 在B1进入:

=RIGHT(A1,1)

并复制下来。然后对列进行排序A经过

前:

在此处输入图片描述

之后:

在此处输入图片描述

答案4

Notepad++ 有一个不同的解决方案,它不需要额外的插件。我使用了此输入,并假设输入中没有任何 #。您只需使用不同的字符将排序项与原始输入分开即可。

123&name=Alpha&somethingelse
456&name=Gamma&differentstuff
789&name=Beta&otherstuff
  1. 使用正则表达式搜索和替换将要排序的部分复制到行首。确保启用正则表达式并使用

    Search: (.*)&name=(.*?)&(.*)

    Replace: \2#\1&name=\2&\3

结果:

Alpha#123&name=Alpha&somethingelse
Gamma#456&name=Gamma&differentstuff
Beta#789&name=Beta&otherstuff
  1. 使用排序线功能。

结果:

Alpha#123&name=Alpha&somethingelse
Beta#789&name=Beta&otherstuff
Gamma#456&name=Gamma&differentstuff
  1. 使用另一个正则表达式撤消步骤 1 中的更改。

    Search: (.*)#(.*)

    Replace: \2

结果:

123&name=Alpha&somethingelse
789&name=Beta&otherstuff
456&name=Gamma&differentstuff

相关内容