Mengekstrak Nombor Titik Terapung daripada Rentetan Menggunakan Ungkapan Biasa
Dalam pengaturcaraan, selalunya perlu untuk mengekstrak data daripada rentetan teks. Dalam kes ini, anda ingin mengekstrak nombor titik terapung daripada rentetan seperti "Tahap Semasa: 13.4 db."
Penyelesaian Ungkapan Biasa
Menggunakan ungkapan biasa , anda boleh menentukan corak yang menangkap nombor titik terapung. Pertimbangkan kod Python berikut:
import re string = "Current Level: 13.4db." result = re.findall(r"\d+\.\d+", string) print(result)
Kod ini menggunakan corak ungkapan biasa d .d :
Senarai hasil akan mengandungi nombor titik terapung yang diekstrak: ['13.4'].
Penyelesaian Teguh dengan Pengesahan
Untuk pendekatan yang lebih mantap, gunakan corak r"[- ]?(?:d*.*d )". Corak ini mengendalikan kedua-dua tanda positif dan negatif, serta digit pilihan sebelum titik perpuluhan.
result = re.findall(r"[-+]?(?:\d*\.*\d+)", string) print(result)
Selain pengekstrakan, anda boleh mengesahkan input pengguna dengan cuba menukarnya kepada apungan terus:
user_input = "Current Level: 1e100 db" for token in user_input.split(): try: float_value = float(token) print(f"{float_value} is a float") except ValueError: print(f"{token} is something else")
Kod ini berulang pada token dalam rentetan input dan cuba menukarnya kepada terapung. Jika penukaran berjaya, token adalah apungan. Jika tidak, ia dianggap sesuatu yang lain.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengekstrak Nombor Titik Terapung daripada Rentetan Menggunakan Ungkapan Biasa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!