ホームページ >Java >&#&チュートリアル >字句比較を優先して数値比較を優先して、数値が埋め込まれた文字列を並べ替えるにはどうすればよいですか?

字句比較を優先して数値比較を優先して、数値が埋め込まれた文字列を並べ替えるにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-16 13:28:10713ブラウズ

How Can I Sort Strings with Embedded Numbers, Prioritizing Lexical and then Numeric Comparison?

数値が埋め込まれた文字列の並べ替え

このシナリオでは、文字列比較に特定の要件があり、主な部分が字句的に比較されます。それらが一致する場合、埋め込まれた整数値が比較の基準になります。これを達成するために、数値の周囲にさまざまなスペースが存在することを考慮して、カスタム アプローチが提案されています。

Alphanum アルゴリズム

推奨される解決策は、「Alphanum アルゴリズム」を利用することです。 」 回答で言及されているWebサイトで示唆されているように。このアルゴリズムは、人間の知覚に合わせた一貫した並べ替え動作を提供します。

実装

Alphanum アルゴリズムは、文字列の先頭と末尾から不一致が見つかるまで文字を繰り返し比較することによって機能します。に遭遇します。異なるセクションが見つかった場合は、正規表現を使用して埋め込まれた数値を抽出します。文字列に変換可能な数値が含まれている場合は、数値比較が行われます。それ以外の場合は、抽出されたセクションで字句比較が実行されます。

コンパレータの実装

Alphanum アルゴリズムの Java Comparator 実装は、提供されたリンクから入手できます。このコンパレータを統合することにより、数値以外の部分の字句比較を優先し、埋め込まれた整数値の数値比較を利用して、希望の仕様に従って文字列を並べ替えることができます。

以上が字句比較を優先して数値比較を優先して、数値が埋め込まれた文字列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。