Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mengekstrak Nombor Titik Terapung daripada Rentetan Menggunakan Ungkapan Biasa dalam Python?

Bagaimanakah saya boleh mengekstrak Nombor Titik Terapung daripada Rentetan Menggunakan Ungkapan Biasa dalam Python?

DDD
DDDasal
2024-12-03 10:25:10115semak imbas

How Can I Extract Floating-Point Numbers from a String Using Regular Expressions in Python?

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 :

  • d : Memadankan satu atau lebih digit, mewakili bahagian nombor bulat bagi terapung.
  • .: Padan dengan titik perpuluhan.
  • d : Memadankan satu atau lebih digit selepas titik perpuluhan, mewakili bahagian pecahan apungan.

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!

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