Python kiểm tra xem chuỗi chỉ chứa một số ký tự nhất định

Để kiểm tra xem một chuỗi chỉ chứa các chữ cái hay không, hãy sử dụng hàm isalpha[] trên chuỗi. isalpha[] trả về giá trị boolean. Giá trị trả về là True nếu chuỗi chỉ chứa các chữ cái và Sai nếu không

Trong hướng dẫn này, chúng ta sẽ viết chương trình Python để kiểm tra xem chuỗi đã cho chỉ chứa các chữ cái [viết hoa hay viết thường]

Cú pháp của isalpha[]

Cú pháp của String. hàm isalpha[] được đưa ra dưới đây

bool = str1.isalpha[]

ví dụ 1. Kiểm tra xem Chuỗi chỉ chứa Bảng chữ cái

Hãy để chúng tôi tạo một chuỗi và kiểm tra xem chuỗi chỉ chứa các bảng chữ cái

Chương trình Python

str1 = "hello world. welcome to python examples."

bool = str1.isalpha[]

print['str1 contains only alphabets:', bool]
Chạy

đầu ra

str1 contains only alphabets: False

str1 chứa hai dấu chấm đầy đủ

str1 contains only alphabets: True
8 và một số khoảng trắng cùng với bảng chữ cái. Vì vậy isalpha[] trả về false

ví dụ 2. Kiểm tra xem Chuỗi chỉ chứa Bảng chữ cái

Bây giờ, hãy để chúng tôi kiểm tra bằng một chuỗi chỉ có bảng chữ cái

Chương trình Python

str1 = "helloworldpythonexamples"

bool = str1.isalpha[]

print['str1 contains only alphabets:', bool]
Chạy

đầu ra

str1 contains only alphabets: True

Tóm lược

Trong hướng dẫn về Ví dụ Python này, chúng ta đã học cách kiểm tra xem một chuỗi chỉ chứa Bảng chữ cái hay không, với sự trợ giúp của các chương trình ví dụ Python chi tiết

Trong bài viết này, chúng ta sẽ xem cách kiểm tra xem chuỗi đã cho chỉ chứa một số ký tự nhất định trong Python. Các ký tự được xác định này sẽ được biểu diễn bằng các bộ

ví dụ

Đầu vào. ‘657’ giả sử biểu thức chính quy chứa các ký tự sau-
[‘78653’]
Đầu ra. Hợp lệ
Giải thích. Chuỗi đầu vào chỉ bao gồm các ký tự có trong chuỗi đã cho

Đầu vào. ‘7606’ giả sử biểu thức chính quy chứa các ký tự sau-
[‘102’] 
Đầu ra. không hợp lệ

Tiếp cận

Phương pháp hoặc cách tiếp cận rất đơn giản, chúng tôi sẽ xác định bộ ký tự bằng biểu thức chính quy. Biểu thức chính quy là một mẫu hoặc chuỗi ký tự đặc biệt sẽ cho phép chúng ta khớp và tìm các bộ ký tự hoặc chuỗi khác.  

Các chức năng được sử dụng

  • biên dịch[]. Các biểu thức chính quy được biên dịch thành các đối tượng mẫu, có các phương thức cho các hoạt động khác nhau như tìm kiếm mẫu khớp hoặc thực hiện thay thế chuỗi.
  • tìm kiếm[]. lại. search[] trả về Không có [nếu mẫu không khớp] hoặc trả về re. MatchObject chứa thông tin về phần phù hợp của chuỗi. Phương thức này dừng sau lần khớp đầu tiên, vì vậy phương thức này phù hợp nhất để kiểm tra biểu thức chính quy hơn là trích xuất dữ liệu.

    Viết chương trình Python để kiểm tra xem một chuỗi chỉ chứa một bộ ký tự nhất định [trong trường hợp này là a-z, A-Z và 0-9]

    Giải pháp mẫu. -

    Mã Python

    import re
    def is_allowed_specific_char[string]:
        charRe = re.compile[r'[^a-zA-Z0-9]']
        string = charRe.search[string]
        return not bool[string]
    
    print[is_allowed_specific_char["ABCDEFabcdef123450"]] 
    print[is_allowed_specific_char["*&%@#!}{"]]
    
    

    Đầu ra mẫu

    True                                                                                                          
    False 
    

    Trình bày bằng hình ảnh



    Sơ đồ


    Trực quan hóa việc thực thi mã Python

    Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

    Trình chỉnh sửa mã Python

    Có một cách khác để giải quyết giải pháp này?

    Trước. Trang chủ biểu thức chính quy Python.
    Tiếp theo. Viết chương trình Python khớp với một chuỗi có một theo sau là 0 hoặc nhiều b.

    Mức độ khó của bài tập này là gì?

    Dễ dàng trung bình khó

    Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource

    

    con trăn. Lời khuyên trong ngày

    bài tập một phần

    Bạn có muốn gán cụ thể một hoặc nhiều phần tử của danh sách và gán tất cả phần còn lại cho một thứ khác không?

    Giải pháp khái quát hóa cho bất kỳ chuỗi nào [không chỉ một chuỗi] và bất kỳ tập hợp nào [bất kỳ đối tượng nào có thể kiểm tra tư cách thành viên bằng toán tử

    [c in str for c in set]
    0, không chỉ một trong các ký tự]

    ________số 8

    Mặc dù các phương thức chuỗi

    [c in str for c in set]
    1 và
    [c in str for c in set]
    2 có thể kiểm tra sự xuất hiện của chuỗi con, nhưng không có chức năng làm sẵn nào để kiểm tra sự xuất hiện trong một chuỗi gồm một tập hợp các ký tự

    Trong khi làm việc với một điều kiện để kiểm tra xem một chuỗi có chứa các ký tự đặc biệt được sử dụng trong hàm thư viện chuẩn

    [c in str for c in set]
    3 hay không, tôi đã nghĩ ra đoạn mã trên [với sự trợ giúp từ kênh IRC của OpenProjects
    [c in str for c in set]
    4]. Được viết theo cách này, nó thực sự tương thích với suy nghĩ của con người, mặc dù bạn có thể không nghĩ ra mã như vậy bằng trực giác. Đó thường là trường hợp với việc hiểu danh sách

    Đoạn mã sau tạo một danh sách các giá trị

    [c in str for c in set]
    5/
    [c in str for c in set]
    6, một giá trị cho mỗi mục trong tập hợp

    [c in str for c in set]

    Sau đó, mã này kiểm tra xem có ít nhất một giá trị thực trong danh sách đó không

    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    6

    Tương tự, điều này kiểm tra xem không có giá trị sai nào trong danh sách

    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    7

    Các ví dụ về cách sử dụng được truyền tốt nhất dưới dạng các bài kiểm tra đơn vị để được thêm vào tệp nguồn

    [c in str for c in set]
    7 của mô-đun này, với thành ngữ thông thường để đảm bảo rằng các bài kiểm tra thực thi nếu mô-đun chạy dưới dạng tập lệnh chính

    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    9

    Tất nhiên, trong khi các thành ngữ trước rất gọn gàng, vẫn có những lựa chọn thay thế [không phải lúc nào cũng vậy sao?]. Dưới đây là những lựa chọn thay thế cơ bản nhất — và do đó, theo một nghĩa nào đó, là những lựa chọn thay thế Pythonic nhất

    str1 contains only alphabets: False
    0

    Dưới đây là một số lựa chọn thay thế đảm bảo vòng lặp tối thiểu [trả lại sớm nhất có thể]. Đây là những điều ngắn gọn nhất và do đó, theo một nghĩa nào đó, mạnh mẽ nhất

    str1 contains only alphabets: False
    1

    Dưới đây là một số biến thể thậm chí còn mỏng hơn của biến thể thứ hai dựa trên một phương thức đặc biệt mà các đối tượng chuỗi chỉ cung cấp trong Python 2. 2 trở lên

    str1 contains only alphabets: False
    2

    Và đây là một biến thể phức tạp dựa trên chức năng cũng có sẵn trong 2. 0

    str1 contains only alphabets: False
    3

    May mắn thay, cách tiếp cận khá phức tạp này thiếu một biến thể rõ ràng ngay lập tức có thể áp dụng để triển khai

    [c in str for c in set]
    8. Tuy nhiên, một lược đồ phức tạp cuối cùng, dựa trên khả năng xóa tất cả các ký tự trong một tập hợp của
    [c in str for c in set]
    9, sẽ áp dụng cho cả hai chức năng

    str1 contains only alphabets: False
    6

    Thủ thuật này ít nhất cũng có chiều sâu—nó dựa vào việc

    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    60 là dãy con của
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    61 được tạo bởi các ký tự không có trong
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    62. Nếu dãy con đó có cùng độ dài với
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    61, thì không có ký tự nào bị xóa bởi
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    64, vì vậy không có ký tự nào của
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    61 nằm trong
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    62. Ngược lại, nếu dãy con đó có độ dài bằng 0 thì tất cả các ký tự đã bị xóa, do đó tất cả các ký tự của
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    61 nằm trong
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    62. Phương thức
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    69 của các đối tượng chuỗi tiếp tục xuất hiện một cách tự nhiên khi người ta muốn coi các chuỗi là tập hợp các ký tự, một phần vì nó rất nhanh và một phần vì nó rất tiện dụng và linh hoạt. Xem Công thức 3. 8 cho một ứng dụng tương tự khác

    Một quan sát cuối cùng là những cách tiếp cận nhiệm vụ khác nhau này có mức độ tổng quát rất khác nhau. Ở một thái cực, cách tiếp cận sớm nhất, chỉ dựa vào

    [c in str for c in set]
    0 [đối với vòng lặp trên
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    62 và để trở thành thành viên của
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    61] là tổng quát nhất; . Ở một thái cực khác, cách tiếp cận cuối cùng, dựa trên phương pháp
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    69, chỉ hoạt động khi cả
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    62 và
    str1 = "hello world. welcome to python examples."
    
    bool = str1.isalpha[]
    
    print['str1 contains only alphabets:', bool]
    61 đều là chuỗi hoặc bắt chước chức năng của đối tượng chuỗi

    công thức 3. số 8;

Chủ Đề