假设有从1到8的章节。稍后,作者添加了7.5的条件奖金。
现在,我想做一些比较统一的章节命名,最初的想法是“0001章”。排序工作稳定(只要章节少于 10k,是的)排序直到出现奖励章节。
有没有人对如何命名章节有任何好主意,以便奖金(尤其是那些追溯添加的)不会破坏排序并落到最后或中间的某个地方?
PS:特别有趣的是,名称中的句点在//和这些操作系统上的不同应用程序中win排序unix不同android。

假设有从1到8的章节。稍后,作者添加了7.5的条件奖金。
现在,我想做一些比较统一的章节命名,最初的想法是“0001章”。排序工作稳定(只要章节少于 10k,是的)排序直到出现奖励章节。
有没有人对如何命名章节有任何好主意,以便奖金(尤其是那些追溯添加的)不会破坏排序并落到最后或中间的某个地方?
PS:特别有趣的是,名称中的句点在//和这些操作系统上的不同应用程序中win排序unix不同android。

曾几何时,在 BASIC 中也有类似的问题,其中行必须编号。还有一个简单的规则——以十为单位编号。如果你需要插入一两行,也没有问题。一个类似的系统迁移到 Linux 配置。因此,我们以数十(甚至数百)为单位对章节进行编号,并在开头添加所需数量的零。如果您需要在中间插入一章 - 没问题。文件名示例。
这种方法很好,因为即使您需要插入“介绍”,我们也只需用
0000-...,编号0005-....。为什么有前导零?在这种情况下,排序在任何地方都是相同的。指挥家不用零也能理解,其他的替代品就不是事实了。前导零的数量是根据预期的章节数来选择的。
Почему без точки? А точка не несет дополнительной информации. А вот разделитель нумерации и просто имени - нужен. Он упростит регулярки и другую рутину.
为什么只是一个点不起作用?
选项 1、2、3.1、3.2、3.2.4、3.2.5、4、5、...
在 Unix、Windows 和 Android 上排序相同
如果有超过 10、100、1000 个章节,那么您只需要添加第一个零。
该点在任何地方都排序相同(在 Android、Win 7、CentOS、Linux 上检查)
Что тут важно:
Поэтому можно не писать слово
Главав начале. И надо добавить название самой главы в конец через пробел. В таком случае пробел будет раньше чем точка или подчёркивание и всё встанет в нужном порядке.Как оказалось, у Linux Mint какие-то свои представления о сортировке числовых значений, пробелов, точек и знаков пунктуации. Чтобы побороть их и свести сортировку к лексикографической, пришлось:
Получается такой формат:
С этим форматом согласен проводник:
но, к сожалению, не консоль:
0001.a whatever
0002.a more stuff
0003.a
0004.a wow
бонусы добавляют после .a:
0002.a.1 superbonus 0002.a.2 nothing
解析所有名称,从中提取所有数字到单独的结构/列或您拥有的任何内容中。也许好几次。然后按主要原则排序,然后按这些附加列。
在 Windows 7 Explorer 中实现了类似的功能。一开始我很喜欢,后来很生气。