Để 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ề falseví 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ố 8Mặ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
6str1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
Tương tự, điều này kiểm tra xem không có giá trị sai nào trong danh sách
7str1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
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
9str1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
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
0str1 contains only alphabets: False
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
1str1 contains only alphabets: False
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
2str1 contains only alphabets: False
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
3str1 contains only alphabets: False
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
6str1 contains only alphabets: False
Thủ thuật này ít nhất cũng có chiều sâu—nó dựa vào việc
60 là dãy con củastr1 = "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ó trongstr1 = "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ớistr1 = "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ởistr1 = "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ủastr1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
61 nằm trongstr1 = "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ủastr1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
61 nằm trongstr1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
62. Phương thứcstr1 = "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ácstr1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
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
62 và để trở thành thành viên củastr1 = "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ápstr1 = "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ỗistr1 = "hello world. welcome to python examples." bool = str1.isalpha[] print['str1 contains only alphabets:', bool]
công thức 3. số 8;