Hướng dẫn python only allow certain characters in string - python chỉ cho phép một số ký tự nhất định trong chuỗi

Nếu bạn muốn tránh sử dụng regex, bạn có thể thử giải pháp tự giải thích này

allowed_characters=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','[',']','$','%','_','/']

password=input["enter password: "]
if any[x not in allowed_characters for x in password]:
  print["error: invalid character"]
else:
  print["no error"]

Trong hướng dẫn này, chúng tôi sẽ xem xét cách kiểm tra xem một chuỗi chỉ chứa một số ký tự nhất định trong Python với sự trợ giúp của một số ví dụ.

Bạn có thể sử dụng kết hợp hàm

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
2 và toán tử thành viên,
# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
3 để kiểm tra xem một chuỗi chỉ chứa một số ký tự nhất định trong Python. Sử dụng các bước sau -

  1. Tạo một tập hợp [hoặc một chuỗi] chứa các ký tự được phép.
  2. Lặp lại thông qua các ký tự trong chuỗi và sử dụng toán tử thành viên
    # string
    s = "ababaaaab"
    # string with only allowed characters
    allowed_s = "ab"
    # check if s contains only allowed characters
    print[all[ch in allowed_s for ch in s]]
    4 để kiểm tra xem ký tự có nằm trong bộ ký tự được phép không.
  3. Sử dụng chức năng python tích hợp
    # string
    s = "ababaaaab"
    # string with only allowed characters
    allowed_s = "ab"
    # check if s contains only allowed characters
    print[all[ch in allowed_s for ch in s]]
    2 để trả về
    # string
    s = "ababaaaab"
    # string with only allowed characters
    allowed_s = "ab"
    # check if s contains only allowed characters
    print[all[ch in allowed_s for ch in s]]
    6 chỉ khi tất cả các ký tự trong chuỗi có mặt trong các ký tự được phép.

Hãy cùng nhìn vào một ví dụ.

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]

Output:

True

Ở đây, chúng ta nhận được

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
6 làm đầu ra vì tất cả các ký tự trong chuỗi
# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
8 đều có trong các ký tự được phép.

Hãy cùng nhìn vào một ví dụ khác.

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]

Output:

False

Ở đây, chúng ta nhận được

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
9 là đầu ra vì ký tự C C không có trong các ký tự được phép.

Chúng tôi có thể sửa đổi chuỗi ký tự được phép phù hợp với trường hợp sử dụng cụ thể của chúng tôi. Ví dụ: nếu bạn muốn kiểm tra xem chuỗi chỉ chứa các chữ số, bạn có thể sử dụng trò chơi 0123456789 hay làm chuỗi ký tự cho phép của bạn.

# string
s = "1150"
# string with only allowed characters
allowed_s = "0123456789"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]

Output:

True

Lưu ý rằng đối với trường hợp sử dụng ở trên, bạn cũng có thể chỉ sử dụng trực tiếp hàm isDigit [].

Bạn cũng có thể quan tâm đến -

  • Python - Kiểm tra xem chuỗi chỉ chứa các chữ cái
  • Python - Kiểm tra xem một chuỗi có chứa các số không
  • Kiểm tra xem một chuỗi có chứa một chuỗi con trong Python không


Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.

  • Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.

    Xem tất cả các bài viết

Chỉ cho phép các chữ cái khi lấy đầu vào của người dùng trong Python #

Chỉ cho phép các chữ cái khi lấy đầu vào của người dùng:

  1. Sử dụng vòng lặp
    True
    0 để lặp lại cho đến khi người dùng chỉ nhập các chữ cái.
  2. Sử dụng phương thức
    True
    1 để kiểm tra xem người dùng chỉ nhập các chữ cái.
  3. Nếu điều kiện được đáp ứng, thoát ra khỏi vòng lặp.

Copied!

user_input = '' while True: user_input = input['Enter letters only: '] if not user_input.isalpha[]: print['Enter only letters'] continue else: print[user_input] break

Chúng tôi đã sử dụng vòng lặp

True
0 để lặp lại cho đến khi người dùng chỉ nhập các chữ cái.

Trên mỗi lần lặp, chúng tôi kiểm tra xem người dùng không chỉ nhập các chữ cái và sử dụng câu lệnh

True
3 nếu điều kiện được đáp ứng.

Tuyên bố

True
3 tiếp tục với lần lặp tiếp theo của vòng lặp.

Phương thức str.isalpha [] trả về

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
6 Nếu tất cả các ký tự trong chuỗi là chữ cái và có ít nhất một ký tự, nếu không
# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
9 được trả về.

Copied!

print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False

Nếu bạn cũng muốn cho phép khoảng trống, hãy cuộn xuống đoạn mã cuối cùng.

Nếu người dùng chỉ nhập các chữ cái, chúng tôi in giá trị đầu vào và thoát ra khỏi vòng lặp.

Tuyên bố phá vỡ thoát ra khỏi vòng lặp

True
7 hoặc
True
0.

Hàm đầu vào có một đối số

True
9 tùy chọn và ghi nó vào đầu ra tiêu chuẩn mà không cần một dòng mới.

Ngoài ra, bạn có thể sử dụng một biểu thức thông thường.

Copied!

import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break

Snippet mã đạt được kết quả tương tự nhưng sử dụng biểu thức chính quy để xác thực đầu vào của người dùng.

Nếu bạn cũng muốn cho phép không gian, hãy sử dụng biểu thức thông thường sau.

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
0

Phương thức Re.Match trả về một đối tượng

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
0 nếu biểu thức thông thường được cung cấp được khớp trong chuỗi.

Phương thức

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
0 trả về
# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
2 nếu chuỗi không khớp với mẫu regex.

Đối số đầu tiên chúng tôi đã chuyển cho

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
3Method là một biểu thức chính quy.

Các dấu ngoặc vuông

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
4 được sử dụng để chỉ ra một tập hợp các ký tự.

Các ký tự

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
5 và
# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
6 đại diện cho phạm vi chữ thường và chữ hoa của các chữ cái.

CARET

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
7 phù hợp với sự khởi đầu của chuỗi và dấu đô la
# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
8 khớp với phần cuối của chuỗi.

Cộng với

# string
s = "abcbaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
9 làm cho biểu thức chính quy khớp với 1 hoặc nhiều sự lặp lại của ký tự trước [phạm vi chữ cái].

# string
s = "ababaaaab"
# string with only allowed characters
allowed_s = "ab"
# check if s contains only allowed characters
print[all[ch in allowed_s for ch in s]]
0

Ký tự

False
0 phù hợp với các ký tự khoảng trắng unicode như
False
1.

Nếu người dùng không chỉ nhập các chữ cái, chúng tôi sẽ sử dụng câu lệnh

True
3 để nhắc chúng lại để nhập.

Mặt khác, chúng tôi sử dụng câu lệnh

False
3 để thoát khỏi vòng lặp
True
0.

Nếu bạn cần trợ giúp đọc hoặc viết một biểu thức chính quy, hãy tham khảo ý kiến ​​phân nhóm cú pháp biểu thức thông thường trong các tài liệu chính thức.

Trang chứa một danh sách tất cả các ký tự đặc biệt với nhiều ví dụ hữu ích.

Bài Viết Liên Quan

Chủ Đề