文件管理器排序时,怎样考虑“第1册”“第10册”“第一册”等情况

「第1册」和「第10册」倒是有个简单的办法:将数字和非数字分段,然后按段比较。「第一册」和「第1册」就需要大量的数据来支撑了(例如将「一」识别成数字而不是文字),不建议自己撸
■网友
首先你要知道所有的语言对于数字的写法,把它们都写进代码。
其次,你需要知道字符串的编码,然后就可以正确识别里面的意思了。
这就简化成一个如何对混有数字的字符串进行排序的功能了。
【文件管理器排序时,怎样考虑“第1册”“第10册”“第一册”等情况】 如果你用的是windows的话,windows的locale相关的api就提供了考虑了数字的排序的功能,直接用就好了。windows存了很多这种数据的,multilingual processing什么的,需要的就是超大的表。你想把这些数据放进你的application还是不太现实,正常的做法就是让os去支持他,免去了所有程序员的劳动。


    推荐阅读