Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Nombor Terbaik daripada String dalam Python: `re` atau `isdigit()`?
Mengekstrak Nombor daripada Rentetan dalam Python
Apabila mengekstrak nombor daripada rentetan dalam Python, seseorang mempunyai pilihan antara menggunakan ungkapan biasa atau isdigit( ) kaedah.
Biasa Ungkapan
Ekspresi biasa menyediakan cara yang berkesan untuk memadankan corak dalam rentetan. Untuk pengekstrakan nombor, ungkapan biasa berikut boleh digunakan: d . Ungkapan ini sepadan dengan jujukan satu atau lebih digit.
Untuk menggunakan ungkapan biasa, Python menyediakan modul semula. Kod berikut menunjukkan cara mengekstrak nombor daripada rentetan menggunakan ungkapan biasa:
import re line = "hello 12 hi 89" result = re.findall(r'\d+', line) print(result) # Output: ['12', '89']
Kaedah isdigit()
Kaedah isdigit() , tersedia dalam Pustaka standard Python, mengembalikan True jika rentetan terdiri daripada digit semata-mata. Kaedah ini boleh digunakan untuk lelaran melalui rentetan dan mengekstrak digit.
line = "hello 12 hi 89" result = [char for char in line if char.isdigit()] print(result) # Output: ['1', '2', '8', '9']
Untuk menukar senarai aksara kepada integer, seseorang boleh menggunakan pemahaman senarai:
result = [int(char) for char in line if char.isdigit()] print(result) # Output: [1, 2, 8, 9]
Perbandingan
Kedua-dua ungkapan biasa dan kaedah isdigit() boleh mengekstrak nombor daripada rentetan dengan berkesan. Walau bagaimanapun, ungkapan biasa menawarkan lebih fleksibiliti dan kawalan, membolehkan padanan corak yang lebih kompleks. Kaedah isdigit() pula adalah lebih mudah dan lebih mudah untuk digunakan.
Kesimpulan
Pilihan antara ungkapan biasa dan kaedah isdigit() bergantung mengenai keperluan khusus tugas. Untuk kes yang lebih mudah, kaedah isdigit() mungkin mencukupi. Untuk padanan corak yang lebih kompleks, ungkapan biasa memberikan penyelesaian yang lebih mantap dan boleh disesuaikan.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nombor Terbaik daripada String dalam Python: `re` atau `isdigit()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!