Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Nombor Terbaik daripada String dalam Python: `re` atau `isdigit()`?

Bagaimana untuk Mengekstrak Nombor Terbaik daripada String dalam Python: `re` atau `isdigit()`?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-29 09:17:10769semak imbas

How to Best Extract Numbers from Strings in Python: `re` or `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!

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