Cara Mengekstrak Nombor Titik Terapung daripada Rentetan dengan Ketepatan
Dalam senario tertentu, mengekstrak nombor titik terapung daripada rentetan adalah perlu. Sebagai contoh, anda mungkin menghadapi rentetan seperti "Tahap Semasa: 13.4 db." di mana hanya nilai berangka yang diminati. Ungkapan biasa (RegEx) menawarkan penyelesaian yang mudah untuk tugas ini.
Pendekatan RegEx
Jika nombor titik terapung anda sentiasa muncul dalam bentuk "a.b," anda boleh gunakan corak RegEx berikut:
re.findall("\d+\.\d+", "Current Level: 13.4db.")
Corak ini akan menangkap sebarang jujukan berangka yang mengandungi satu atau lebih digit, diikuti dengan titik perpuluhan, dan kemudian satu atau lebih digit. Dalam contoh kami, ia akan mengembalikan rentetan '13.4'.
RegEx Terperinci untuk Pengekstrakan Teguh
Untuk lebih fleksibiliti, pertimbangkan corak berikut:
re.findall(r"[-+]?(?:\d*\.*\d+)", "Current Level: -13.2db or 14.2 or 3")
Corak ini mengendalikan pelbagai perwakilan titik terapung yang lebih luas, termasuk:
Ia akan mengembalikan senarai semua nombor yang dipadankan: ['-13.2', '14.2', '3'].
Penukaran Terus untuk Pengesahan
Sebagai alternatif, anda boleh terus menukar token kepada apungan untuk mengesahkan input pengguna:
user_input = "Current Level: 1e100 db" for token in user_input.split(): try: print(float(token), "is a float") except ValueError: print(token, "is something else")
Kod ini cuba menukar setiap token dalam rentetan input kepada apungan dan mencetak sama ada token itu apungan yang sah atau tidak.
Dengan memanfaatkan kaedah yang sesuai untuk keperluan khusus anda, anda boleh mengekstrak nombor titik terapung dengan berkesan daripada rentetan dengan ketepatan dan kelenturan yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nombor Titik Terapung dengan Cekap daripada Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!