Bayangkan anda mempunyai rentetan yang sepatutnya bebas nombor, tetapi anda mengesyaki pengguna mungkin telah memasukkan secara tidak sengaja digit licik. Bagaimana anda boleh menyemak sama ada itu berlaku? Mari kita terokai dua pendekatan untuk mendedahkan nombor tersembunyi.
Fungsi isdigit() boleh membantu anda mengesan nombor, tetapi ia berfungsi secara berbeza daripada yang anda jangkakan. Ia mengembalikan Benar hanya apabila setiap aksara dalam rentetan adalah angka, yang mungkin bukan yang anda perlukan dalam situasi ini. Anda masih boleh menggunakannya dengan sedikit pusingan:
def has_numbers(inputString): return any(char.isdigit() for char in inputString)
Penjelasan: Fungsi ini berulang pada setiap aksara dalam rentetan input, menyemak sama ada ia adalah digit (iaitu, '0' hingga '9'). Jika walaupun satu aksara di antara mereka ialah digit, fungsi itu akan mengembalikan Benar.
Ekspresi biasa menawarkan cara lain untuk menangani tugas ini:
import re def has_numbers(inputString): return bool(re.search(r'\d', inputString))
Penjelasan: Fungsi ini menggunakan ungkapan biasa untuk mencari sekurang-kurangnya satu digit ('d') di mana-mana dalam rentetan input. Jika ia menemui satu atau lebih digit, ia mengembalikan Benar; jika tidak, ia mengembalikan Palsu.
Kedua-dua fungsi berkesan mengesan kehadiran nombor dalam input sampel:
Kaedah ini menyediakan cara yang berguna untuk memastikan rentetan tanpa nombor anda kekal bebas digit, menghalang pencerobohan berangka yang tidak diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Nombor Tersembunyi Dalam Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!