Chuỗi Python không chứa chữ và số

Trong hướng dẫn này, chúng ta sẽ xem xét cách xóa các ký tự không phải chữ và số khỏi một chuỗi trong Python với sự trợ giúp của một số ví dụ

Các ký tự chữ và số là gì?

Một ký tự là một ký tự chữ và số nếu đó là một bảng chữ cái [a đến z, A đến Z] hoặc một chữ số [0 đến 9]. Ví dụ: chuỗi

True
True
True
False
False
9 chỉ chứa các ký tự chữ và số trong khi chuỗi
True
True
True
False
False
0 chứa một ký tự không phải chữ và số [
True
True
True
False
False
1]

[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join[c for c in s if c.isalnum[]] print[new_s]

đầu ra

Striker123

Bạn có thể thấy rằng chuỗi kết quả không có bất kỳ ký tự nào không phải chữ và số. Ở đây, chúng tôi lặp lại tất cả các ký tự trong chuỗi gốc và chỉ giữ lại ký tự đó nếu đó là ký tự chữ và số mà chúng tôi kiểm tra bằng hàm chuỗi

True
True
True
False
False
2. Sau đó, chúng tôi sử dụng hàm chuỗi
True
True
True
False
False
1 để nối từng ký tự

Sử dụng biểu thức chính quy để xóa các ký tự không phải chữ và số

Chúng ta cũng có thể sử dụng các biểu thức chính quy để loại bỏ các ký tự như vậy. Ví dụ: chúng ta có thể viết một biểu thức chính quy để khớp với tất cả các ký tự không phải chữ và số trong chuỗi và sau đó thay thế chúng bằng một chuỗi rỗng. Bạn có thể sử dụng thư viện

True
True
True
False
False
6 trong Python để triển khai khớp mẫu biểu thức chính quy

________số 8

đầu ra

Striker123

Chúng tôi nhận được kết quả tương tự như trên

Để biết thêm về các biểu thức chính quy trong Python, hãy tham khảo hướng dẫn này

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

  • Xóa ký tự đầu tiên khỏi chuỗi trong Python
  • Xóa ký tự cuối cùng khỏi chuỗi trong Python


Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin và hướng dẫn.
Chúng tôi không gửi thư rác và bạn có thể chọn không tham gia bất kỳ lúc nào.


Tác giả

  • Piyush Raj

    Piyush là một chuyên gia 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. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ

    Trong bài viết này, chúng ta sẽ thảo luận về bốn cách khác nhau để xóa tất cả các ký tự không phải chữ và số khỏi chuỗi. Những cách này là,

    • Sử dụng Regex
    • Sử dụng tham gia[]
    • Sử dụng bộ lọc[] và tham gia[]
    • Sử dụng vòng lặp

    Hãy thảo luận từng cái một,

    Xóa tất cả các ký tự không phải chữ và số bằng regex

    Trong Python, mô-đun regex cung cấp một hàm sub[], thay thế các ký tự của một chuỗi dựa trên mẫu biểu thức chính quy phù hợp. Chữ ký của hàm sub[] như sau,

    True
    True
    True
    False
    False
    0

    Chúng ta có thể sử dụng điều này cho tất cả các ký tự không phải chữ và số từ một chuỗi. Đối với điều này, chúng ta cần chuyển một mẫu biểu thức chính quy khớp với tất cả các ký tự ngoại trừ các ký tự chữ và số như r”[^A-Za-z0-9]+”. Ngoài ra, để thay thế chuỗi, chúng ta cần chuyển chuỗi rỗng. Ví dụ,

    True
    True
    True
    False
    False
    1

    đầu ra

    True
    True
    True
    False
    False
    2

    Ở đây, hàm sub[] đã tìm kiếm tất cả các ký tự không phải chữ và số và sau đó thay thế chúng bằng chuỗi rỗng. Sau đó, cuối cùng trả về một bản sao của chuỗi gốc nhưng chỉ có các ký tự chữ và số. Chúng tôi đã gán lại chuỗi mới này cho biến ban đầu, nó tạo ra hiệu ứng là chúng tôi đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi

    Xóa tất cả các ký tự không phải chữ và số bằng cách sử dụng tham gia [] is & isalpha []

    Trong Python, chuỗi cũng cung cấp hàm isalpha[]. Trả về True nếu tất cả các ký tự trong đối tượng chuỗi gọi là chữ và số. Chúng ta có thể sử dụng hàm này cùng với hàm join[]. Vì vậy, để xóa tất cả các ký tự không phải chữ và số khỏi một chuỗi, chúng tôi sẽ lặp lại lần lượt từng ký tự của chuỗi và bỏ qua các ký tự không phải chữ và số. Sau đó dùng hàm join[] ta sẽ gộp các ký tự còn lại. Ví dụ,

    True
    True
    True
    False
    False
    3

    đầu ra

    True
    True
    True
    False
    False
    2

    Nó đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi

    Xóa tất cả các ký tự không phải chữ và số bằng cách sử dụng bộ lọc [], tham gia [] và isalpha []

    Chúng ta có thể sử dụng hàm filter[] để lọc tất cả các ký tự không phải chữ và số từ một chuỗi. Các bước như sau,

    1. Truyền hàm isalpha[] làm đối số có điều kiện cho hàm filter[], cùng với chuỗi cần sửa đổi
    2. hàm filter[] chỉ mang lại những ký tự từ chuỗi đã cho mà hàm isalpha[] trả về True i. e. chỉ ký tự chữ và số
    3. Sử dụng hàm join[] để kết hợp tất cả các ký tự được tạo bởi hàm filter[] i. a. chỉ ký tự chữ và số
    4. Gán lại chuỗi được hàm join[] trả về cho biến ban đầu. Nó sẽ tạo hiệu ứng chúng tôi đã xóa tất cả các ký tự không phải chữ và số

    Ví dụ,

    True
    True
    True
    False
    False
    5

    đầu ra

    True
    True
    True
    False
    False
    2

    Nó đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi

    Xóa tất cả các ký tự không phải chữ và số khỏi chuỗi bằng vòng lặp for

    Tạo một chuỗi tạm thời trống mới. Sau đó lặp lại tất cả các ký tự trong chuỗi bằng vòng lặp for và kiểm tra từng ký tự xem nó có phải là chữ và số hay không. Nếu nó là chữ và số, hãy nối nó vào chuỗi tạm thời được tạo trước đó. Khi vòng lặp for kết thúc, chuỗi tạm thời chỉ chứa các ký tự chữ và số từ chuỗi ban đầu. Gán chuỗi tạm thời cho biến ban đầu. Nó sẽ tạo hiệu ứng chúng tôi đã xóa tất cả các ký tự không phải chữ và số. Ví dụ,

    True
    True
    True
    False
    False
    7

    đầu ra

    True
    True
    True
    False
    False
    2

    Nó đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi

    Xóa tất cả các ký tự không phải chữ và số khỏi chuỗi ngoại trừ khoảng trắng

    Chúng tôi sẽ sử dụng logic được giải thích trong ví dụ trên i. e. lặp qua tất cả các ký tự của chuỗi bằng vòng lặp for. Chỉ chọn các ký tự chữ và số và dấu cách. Ví dụ,

    Cách kiểm tra xem chuỗi có chứa không

    Chuỗi Python Phương thức isalnum[] . Ví dụ về các ký tự không phải là chữ và số. [không gian]. #%&?

    Làm thế nào để tước phi

    sub[] để xóa tất cả các ký tự không phải chữ và số khỏi một chuỗi, e. g. new_str = lại. sub[r'[\W_]', '', my_str] . Ở đó. phương thức sub[] sẽ xóa tất cả các ký tự không phải chữ và số khỏi chuỗi bằng cách thay thế chúng bằng chuỗi rỗng.

Chủ Đề