我有几页文本(80,000 个字),我必须将其转换并分成每页最多 160 个字符。
你们当中有谁可以帮我在 BBedit 或 Sublime Text (Mac) 中做到这一点?
答案1
Sublime 的多个光标非常强大。结合正则表达式,您可以在编辑器中做很多很酷的事情,包括这个。
- 按“ Ctrl+”F打开“查找”抽屉。
- 确保正则表达式已打开(Alt+R切换)。
- 输入
(.|\n){1,160}[ .!?]
。如果您点击Enter几次,您将看到依次选择的每个页面。 - 按Alt+Enter可同时选择所有页面。
- 点击Right Arrow将光标置于每页的末尾。
- 输入您想要分隔页面的任意内容。例如,点击Enter两次,输入一长行“-”,然后Enter再点击两次。
正则表达式为何有效
正则表达式查找重复 1 到 160 次(含)之间的任何字符(包括换行符):(.|\n){1,160}
。但是,只有当它能在这些字符后找到空格或标点符号时,它才会匹配:[ .!?]
。由于正则表达式是急切的(它们匹配最长的字符串,即使较小的子字符串也匹配),每个匹配项都将是最长的字符串,由 1 到 160 个字符后跟空格或标点符号组成。
(顺便问一下,您的意思是 1600 个字符吗?160 个字符的页面确实是相当小的页面。)
答案2
如果您安装了 GNU 工具,您可以从命令行执行此操作。
除了按字符数之外,您还没有指定如何分页。分裂可以使用 -b 参数来实现。例如:
# split -b 160 inputfile split
应该可以。如果您使用的是多字节字符集,请将字节数加倍。如果您使用的是 UTF-8,则需要先转换为 UTF-16。