Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengeluarkan Nombor Titik Terapung dengan Cekap daripada Rentetan dalam Python?

Bagaimanakah Saya Boleh Mengeluarkan Nombor Titik Terapung dengan Cekap daripada Rentetan dalam Python?

DDD
DDDasal
2024-11-25 10:00:15917semak imbas

How Can I Efficiently Extract Floating-Point Numbers from Strings in Python?

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:

  • Tanda negatif (-)
  • Nombor bulat (cth., "3")
  • Nombor tanpa titik perpuluhan (cth., "13")

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn