我有很多这样的答案:
1.A;8.C;15.E;22.B
2.B;9.D;16.A;23.C
3.C;10.E;17.B;24.D
4.D;11.A;18.C;25.E
5.E;12.B;19.D;26.A
6.A;13.C;20.E;27.B
7.B;14.D;21.A;28.C
我正在尝试找到最简单的方法来自动将它们重新排序成这样的:
1.A
2.B
3.C
4.D
5.E
6.A
7.B
8.C
9.D
10.E
11.A
12.B
13.C
14.D
15.E
16.A
17.B
18.C
19.D
20.E
21.A
22.B
23.C
24.D
25.E
26.A
27.B
28.C
我不会使用任何编程语言。我一直尝试在记事本、写字板、Microsoft Word 和 Notepad++ 中使用“查找-替换”,并试图想出可以用 AutoHotKey 做些什么。但我想不出任何可行的办法。
任何帮助都将不胜感激。谢谢!
答案1
使用 Word 2010,
- 按 Ctrl-H 将所有“;”替换为“^p”
- 按 Ctrl-A 选择全部
- 单击“主页”选项卡上的排序图标(我不知道这个快捷键)。在“排序文本”对话框中,单击“选项...”按钮。在“分隔字段”处,选择“其他:”并输入“。”,然后单击“确定”返回。在“排序依据”处,选择“字段 1”。在“类型:”处,选择“数字”。单击“确定”执行排序。
或者,将其记录为宏并为其分配热键。
答案2
我无法接触任何编程语言。
这不是真的!你有Windows 脚本宿主,它允许你编写代码VBScript、JavaScript 和 VBA和电源外壳它是一种功能强大的脚本语言,能够利用.Net。
这是 PowerShell 解决方案。将其另存为SortAnswers.ps1
并在 PowerShell 会话中运行。
Param
(
[Parameter(Mandatory = $true)]
[string]$InPath, # Input file
[string]$OutPath # Output file, optional
)
# Natural sort implementation:
# https://stackoverflow.com/questions/5427506/how-to-sort-by-file-name-the-same-way-windows-explorer-does
$ToNatural = {[regex]::Replace($_, '\d+', { $args[0].Value.PadLeft(20) })}
$Sorted = Get-Content -Path $_ | # Read input file, line by line
ForEach-Object {$_ -split ';'} | # Split every line by ';'
Sort-Object $ToNatural # Sort resulting items and assign them to $Sorted variable
# If OutPath parameter specified
if($OutPath)
{
# Save to file
$Sorted | Set-Content -Path $OutPath
}
else
{
# Display on screen
$Sorted
}
例子
读取
Answers.txt
当前目录,将排序后的答案保存为Answers_sorted.txt
:.\SortAnswers.ps1 -InPath .\Answers.txt -OutPath .\Answers_sorted.txt or .\SortAnswers.ps1 .\Answers.txt .\Answers_sorted.txt
读取
Answers.txt
当前目录,在屏幕上显示排序后的答案:.\SortAnswers.ps1 -InPath .\Answers.txt or .\SortAnswers.ps1 .\Answers.txt
笔记
你必须允许执行 PowerShell 脚本第一的:
PowerShell 的默认执行策略称为“受限”。在此模式下,PowerShell 仅作为交互式 shell 运行。它不运行脚本,并且仅加载由您信任的发布者签名的配置文件。如果您收到令人讨厌的红色错误,最可能的原因是您正在尝试运行未签名的脚本。
要将其更改为不受限制,请从管理 PowerShell 运行以下命令:
Set-ExecutionPolicy Unrestricted
参考
答案3
- 我还没有足够的积分来发表评论,所以请大家不要讨厌和投反对票。我正在努力回馈社区。
这“最简单的方法”:
我注意到您有 MS Word,因此可以毫不夸张地假设您也有 MS Excel。
复制文本并将其按原样粘贴到记事本中和将其保存到桌面,例如 a.txt。
然后启动 MS Excel。
在此空白表上导航至菜单;数据 -> 导入外部数据 -> 导入数据(导航到桌面并选择 a.txt)。
然后单击“打开”。
文本导入向导现已打开。
选择单选按钮'分隔符', 单击“下一步”。
选择分隔符框,'分号'。
单击“完成”。然后单击“确定”接受。
现在您有几列数据,但按所需顺序从上到下排列。在您的示例中,您将有 4 列。A 列为 1-7,B 列为 8-14,等等。您现在可以复制每个相邻列并将其粘贴在 A 列下以堆叠数据。只需一分钟即可完成。
希望这可以帮助!
- 我认为这是最简单的方法,因为你提到你“无法使用编程语言”,也就是说你不是程序员。作为一名程序员,你可以轻松下载许多编译器中的任何一个,并用几种语言编写排序算法。但那将是编写程序。