Java-比较可能包含数字的字符串,而位数不会干扰[duplicate]

问题描述 投票:1回答:2

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

假设我有两个字符串; s1 =“第9章”s2 =“第10章”

任何人都会说,如果要对它们进行排序,s1的出现将早于s2,并且在Windows文件夹中也会发生。但是,在Java中,它一次只检查一个char,直到一个大于/小于另一个,这导致它将s2早于s1,因为它具有'1 '其中s1具有'9'

是否有一种无需大量代码和/或处理的管理方式?

java string numbers string-comparison
2个回答
0
投票

此问题已经在这里回答:Sort on a string that may contain a number

基本上,您必须实现自己的Comporator,它使用Alphanum算法http://www.davekoelle.com/alphanum.html


-1
投票

[有一种方法可以管理不涉及大量代码和/或处理的方法。通过构建遵循OS /平台排序规则的数据。

示例:“第9章”->“第09章”

© www.soinside.com 2019 - 2024. All rights reserved.