Rumah >pembangunan bahagian belakang >Tutorial Python >Regex lwn. `isdigit()` dalam Python: Kaedah Mana Yang Terbaik Mengeluarkan Nombor daripada Rentetan?

Regex lwn. `isdigit()` dalam Python: Kaedah Mana Yang Terbaik Mengeluarkan Nombor daripada Rentetan?

Susan Sarandon
Susan Sarandonasal
2024-12-19 13:48:111021semak imbas

Regex vs. `isdigit()` in Python: Which Method Best Extracts Numbers from Strings?

Mengekstrak Nombor daripada Rentetan dalam Python: Kaedah Ungkapan Biasa lwn. Isdigit()

Untuk mengekstrak nombor dengan cekap daripada rentetan, pembangun membahaskan penggunaan ungkapan biasa (regex) terhadap kaedah isdigit(). Artikel ini meneroka kedua-dua pendekatan dan memberikan perbandingan yang jelas.

Ungkapan Biasa

Ungkapan biasa ialah alat yang berkuasa untuk memadankan corak dalam teks. Untuk mengekstrak nombor, kita boleh menggunakan regex berikut:

r'\d+'

regex ini sepadan dengan satu atau lebih digit dalam turutan. Contohnya, gunakannya pada rentetan "hello 12 hi 89" menggunakan re.findall():

>>> re.findall(r'\d+', "hello 12 hi 89")
['12', '89']

Kaedah Isdigit()

The isdigit() method ialah fungsi terbina dalam Python yang mengembalikan True jika rentetan hanya mengandungi digit. Untuk menggunakannya untuk pengekstrakan nombor, kita boleh melingkari aksara rentetan, menyemak setiap satu dengan isdigit().

Walau bagaimanapun, kaedah ini mempunyai had:

  • Ia memerlukan lelaran ke atas rentetan aksara demi aksara, yang boleh menjadi tidak cekap untuk rentetan besar.
  • Ia tidak mengendalikan kes di mana nombor dihadkan oleh bukan ruang putih aksara.

Perbandingan

Secara amnya, ungkapan biasa diutamakan untuk mengekstrak nombor daripada rentetan. Mereka menawarkan kelebihan berikut:

  • Kecekapan: Regex boleh melakukan padanan corak dalam satu hantaran, mengelakkan lelaran yang tidak perlu.
  • Fleksibiliti: Mereka menyokong corak kompleks yang boleh mengendalikan cara yang berbeza di mana nombor diformatkan atau dihadkan.
  • Keringkas: Regex selalunya lebih ringkas dan boleh dibaca daripada kod menggunakan kaedah isdigit().

Kesimpulan

Walaupun kaedah isdigit() boleh digunakan untuk pengekstrakan nombor, ungkapan biasa biasanya lebih baik pilihan kerana kecekapan, fleksibiliti, dan ringkasnya. Dengan memanfaatkan ungkapan biasa, pembangun boleh mengekstrak nombor daripada rentetan dengan tepat dan cekap.

Atas ialah kandungan terperinci Regex lwn. `isdigit()` dalam Python: Kaedah Mana Yang Terbaik Mengeluarkan Nombor daripada Rentetan?. 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