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
Lepaskan: 2024-12-19 13:48:11
asal
998 orang telah melayarinya

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+'
Salin selepas log masuk

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']
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan