Сортируйте на строке, которая может содержать номерJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сортируйте на строке, которая может содержать номер

Сообщение Anonymous »

Мне нужно написать класс Java Comparator, который сравнивает строки, однако с одним поворотом. Если две сравниваемые строки одинаковы в начале и конце, а средняя часть, которая отличается, является целым числом, то сравните на основе числовых значений этих целых чисел. For example, I want the following strings to end up in the order they're shown:

[*]aaa
[*]bbb 3 ccc
[*]bbb 12 ccc
[*]ccc 11
[*]ddd
eee 3 ddd jpeg2000 eee < /li>
eee 12 ddd jpeg2000 eee < /li>
< /ul>
Как вы можете видеть, в строке могут быть другие целые числа, поэтому я не могу просто использовать регулярные выражения, чтобы разорвать любые целые числа. Я думаю о том, чтобы просто ходить по струнам с самого начала, пока я не найду немного, что не совпадает, а затем иду с конца, пока не найду немного, что не совпадает, а затем сравнивая бит в середине с регулярным выражением "[0-9]+", и если оно сравнится, то прохождение численного сравнения, в противном случае, проводя лексическое сравнение. Думаю, я могу гарантировать, что другие цифры в строке, те, которые могут соответствовать, не имеют места вокруг них, или что те, которые отличаются, имеют места.

Подробнее здесь: https://stackoverflow.com/questions/104 ... n-a-number
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»