Mengisih Rentetan dengan Nombor Terbenam
Dalam senario ini, anda mempunyai keperluan khusus untuk perbandingan rentetan, di mana bahagian utama dibandingkan secara leksikal, dan jika ia sepadan, nilai integer terbenam menjadi asas untuk perbandingan. Untuk mencapai matlamat ini, mempertimbangkan kehadiran ruang yang berbeza-beza di sekeliling nilai angka, pendekatan tersuai dicadangkan.
Algoritma Alphanum
Penyelesaian yang disyorkan ialah menggunakan "Algoritma Alphanum " seperti yang dicadangkan oleh laman web yang disebut dalam jawapan. Algoritma ini menyediakan gelagat pengisihan yang konsisten yang sejajar dengan persepsi manusia.
Pelaksanaan
Algoritma Alphanum berfungsi dengan membandingkan aksara secara berulang dari permulaan dan akhir rentetan sehingga ketidakpadanan ditemui. Apabila bahagian yang berbeza ditemui, ia mengekstrak nombor terbenam menggunakan ungkapan biasa. Jika rentetan mengandungi nombor boleh tukar, ia menjalankan perbandingan berangka; jika tidak, ia melakukan perbandingan leksikal pada bahagian yang diekstrak.
Pelaksanaan Pembanding
Pelaksanaan Java Comparator bagi Algoritma Alphanum tersedia di pautan yang disediakan. Dengan menyepadukan pembanding ini, anda boleh mengisih rentetan mengikut spesifikasi yang diingini, mengutamakan perbandingan leksikal untuk bahagian bukan angka dan memanfaatkan perbandingan berangka untuk nilai integer terbenam.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Rentetan dengan Nombor Terbenam, Mengutamakan Leksikal dan kemudian Perbandingan Berangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!