Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengesan Kehadiran Nombor dalam Rentetan?

Bagaimanakah Saya Boleh Mengesan Kehadiran Nombor dalam Rentetan?

Barbara Streisand
Barbara Streisandasal
2024-11-30 06:11:19735semak imbas

How Can I Detect the Presence of Numbers Within a String?

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!

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