Javaで自然なソート順の文字列比較 - 一つは内蔵されていますか?[重複している]。
2023-11-22 09:49:03
質問
自然なソート順を維持する文字列比較関数がほしい 1 . このようなものがJavaに組み込まれているのでしょうか? 私は 文字列クラス で、そして Comparator クラス は2つの実装しか知りません。
自分でロールバックすることはできますが(それほど難しい問題ではありません)、必要なければ車輪を再発明することは避けたいと思います。
私の特定のケースでは、並べ替えたいソフトウェアのバージョン文字列があります。 そこで、私は "1.2.10.5" が "1.2.9.1" よりも大きいと見なされるようにしたいのです。
1 自然なソート順というのは、プログラマにしか意味のないアスキーベーシックなソート順とは異なり、人間が比較するような方法で文字列を比較することを意味します。 言い換えれば、"image9.jpg" は "image10.jpg" よりも少なく、"album1set2page9photo1.jpg" は "album1set2page10photo5.jpg" より少なく、そして "1.2.9.1" は "1.2.10.5" よりも少なくなる、ということです。
どのように解決するのですか?
java では "natural" order の意味は "lexicographical" order ですので、お探しのような実装はコアにはありません。
オープンソースの実装はあります。
これがその一つです。
を必ず読んでください。
お役に立てれば幸いです。
関連
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaで「ArrayList<String>」を「String[]」に変換する。
-
[解決済み] Java の toString() における StringBuilder と文字列連結の比較
-
[解決済み] JavaでStringが数値かどうかを確認する方法
-
[解決済み] Java文字列→日付変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Javaでよくある構文エラー
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
セミコロン期待値エラー解決
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
アノテーション「@Retention」の役割
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
[解決済み] 配列リストのアルファベット順ソート(大文字・小文字を区別しない)
-
[解決済み] 数字を含む文字列のソート