Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-比较可能包含数字的字符串,而不受数字的干扰_Java_String_Numbers_String Comparison - Fatal编程技术网

Java-比较可能包含数字的字符串,而不受数字的干扰

Java-比较可能包含数字的字符串,而不受数字的干扰,java,string,numbers,string-comparison,Java,String,Numbers,String Comparison,我在比较有时包含数字的字符串时遇到问题 假设我有两条弦;s1=“第9章”和s2=“第10章” 任何人都会说,如果要对这些文件进行排序,s1将比s2更早结束,而Windows文件夹中也会出现这种情况。然而,在Java中,它一次只检查一个字符,直到一个字符大于/小于另一个字符,这导致它将s2置于s1之前,因为它有一个“1”,而s1有一个“9” 是否有一种不涉及大量代码和/或处理的管理方法?这里已经回答了这个问题: 基本上,您必须实现自己的composator,它使用Alphanum算法。这取决于您所

我在比较有时包含数字的字符串时遇到问题

假设我有两条弦;s1=“第9章”和s2=“第10章”

任何人都会说,如果要对这些文件进行排序,s1将比s2更早结束,而Windows文件夹中也会出现这种情况。然而,在Java中,它一次只检查一个字符,直到一个字符大于/小于另一个字符,这导致它将s2置于s1之前,因为它有一个“1”,而s1有一个“9”


是否有一种不涉及大量代码和/或处理的管理方法?

这里已经回答了这个问题:


基本上,您必须实现自己的composator,它使用Alphanum算法。

这取决于您所说的“大量代码和/或处理”。使用正则表达式获取数字是否算作“大量处理”?您可以实现自己的比较器,按照自己的意愿对这些内容进行排序。如果您可以将“第9章”编入“第09章”(除非您有第100章,然后您需要将其编入“第009章”)。如果您在评论中回答,不要发布与答案相同的帖子。