Mengenal pasti Aksara Berangka dalam Rentetan
Banyak masalah pengaturcaraan tertumpu pada pengesanan huruf dalam rentetan berangka. Walau bagaimanapun, pertanyaan ini mencari penyelesaian yang mengenal pasti nombor dalam rentetan yang bertujuan untuk tidak terbilang. Matlamatnya adalah untuk menghalang penerimaan rentetan yang mengandungi angka, seperti "Saya memiliki 1 anjing."
Fungsi isdigit(), yang biasa digunakan untuk tujuan ini, hanya mengembalikan True jika semua aksara dalam rentetan ialah nombor. Sebaliknya, kami memerlukan kaedah yang menyemak kehadiran sebarang digit dalam rentetan.
Penyelesaian Menggunakan Lelaran Rentetan
Satu pendekatan melibatkan lelaran melalui setiap aksara dalam input rentetan dan menyemak sama ada ia adalah nombor. Ini boleh dicapai menggunakan fungsi any() bersama-sama dengan kaedah isdigit().
def has_numbers(inputString): return any(char.isdigit() for char in inputString)
Contoh:
has_numbers("I own 1 dog") # True has_numbers("I own no dog") # False
Penyelesaian Menggunakan Biasa Ungkapan
Penyelesaian yang lebih ringkas boleh dilaksanakan menggunakan ungkapan biasa. Coretan kod berikut menggunakan fungsi re.search() untuk mencari sebarang digit dalam rentetan.
import re def has_numbers(inputString): return bool(re.search(r"\d", inputString))
Contoh:
has_numbers("I own 1 dog") # True has_numbers("I own no dog") # False
Kedua-dua penyelesaian dengan berkesan tentukan sama ada rentetan mengandungi nombor, membolehkan anda menolak rentetan yang melanggar tujuan yang dimaksudkan untuk menjadi tanpa nombor.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Kehadiran Nombor dalam Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!