Làm cách nào để xóa các ký hiệu đặc biệt trong python?

Trong hướng dẫn này, chúng ta sẽ giải một chương trình về cách xóa các ký tự đặc biệt khỏi chuỗi Python.  

Mục lục

  • Cách xóa các ký tự đặc biệt khỏi String Python [Bao gồm khoảng trắng]
    • Cách 1 – Sử dụng phương thức isalmun[]
    • Cách 2 – Sử dụng phương thức replace[]​
    • Cách 3 – Sử dụng filter[]
    • Cách 4 – Sử dụng hàm nối + trình tạo
  • Cách xóa các ký tự đặc biệt khỏi Chuỗi Python Ngoại trừ Dấu cách
    • Phương pháp 1 – Sử dụng isalnum[]
    • Phương pháp 2 – Sử dụng Biểu thức Regex
  • Sự kết luận

Cách xóa các ký tự đặc biệt khỏi String Python [Bao gồm khoảng trắng]

Chúng ta sẽ giải bài toán trên theo 4 cách khác nhau

Cách 1 – Sử dụng phương thức isalmun[]

Python isalnum[] trả về True nếu tất cả các ký tự trong chuỗi là chữ và số. Ký tự chữ và số nghĩa là ký tự có thể là bảng chữ cái [a-z] hoặc có thể là số [0-9]. Và nó trả về false nếu một chuỗi chứa ký tự không phải chữ và số, chẳng hạn như @,. , #, $, %, &, dấu cách, v.v.

Thí dụ

s = "TheProblemSeeker10"
print[s.isalnum[]]

đầu ra. ĐÚNG VẬY

Bởi vì chuỗi 's' không chứa bất kỳ giá trị nào không phải chữ và số

Các bước xóa ký tự đặc biệt khỏi String Python

  1. Lấy đầu vào từ người dùng hoặc xác định chuỗi mà bạn muốn xóa các ký tự đặc biệt
  2. Xác định một chuỗi rỗng mới có tên là “Final_string” để lưu trữ các ký tự chữ và số
  3. Áp dụng cho vòng lặp để truy cập từng ký tự trong chuỗi và kiểm tra ký tự là chữ và số bằng cách sử dụng phương thức isalnum[]
  4. Nếu ký tự là chữ và số, hãy nối ký tự đó với chuỗi mới “Final_string”
  5. Kết thúc vòng lặp

Mã Python

#define input string
input_string = "The Problem [email protected]"
final_string = "" #define string for ouput
for character in input_string:
    if[character.isalnum[]]:
        # if character is alphanumeric concat to final_string
        final_string = final_string + character
print["Sample String:", input_string]
print["Final String:", final_string]

đầu ra

Original String: The Problem [email protected]
Final String: TheProblemSeeker10

Cách 2 – Sử dụng phương thức replace[]​

Cách tiếp cận của phương pháp này là tìm các ký tự đặc biệt bằng cách sử dụng vòng lặp và thay thế chúng bằng một chuỗi trống

Mã Python

#define input string
sample_string = "The Problem [email protected]"

#define special characters list
special_characters = ['!','#','$','%', '&','@','[',']',' ',']','_']

#print input sample string 
print["Original String:", sample_string]

#using for loop and replace to remove special characters
for i in special_characters:
    sample_string = sample_string.replace[i,'']
    
# print final sample string    
print["Final String:",sample_string]

đầu ra

Original String: The Problem [email protected]
Final String: TheProblemSeeker10

Cách 3 – Sử dụng filter[]

Một cách khác để xóa các ký tự đặc biệt khỏi chuỗi là sử dụng hàm lọc và hàm lambda.  

Mã Python

#define input string
sample_string = "The Problem [email protected]"

#define special characters list
special_characters = ['!','#','$','%', '&','@','[',']',' ',']','_']

#print input sample string 
print["Original String:", sample_string]

# lambda and join function
sample_string = ''.join[filter[lambda i:i not in special_characters, sample_string]]
    
# print final sample string    
print["Final String:",sample_string]

đầu ra

Original String: The Problem [email protected]
Final String: TheProblemSeeker10

Cách 4 – Sử dụng hàm nối + trình tạo

Trong hàm tạo, chúng tôi chỉ định logic sẽ giúp chúng tôi bỏ qua các ký tự đặc biệt từ chuỗi và sau đó chúng tôi tạo lại chuỗi bằng phương thức nối []

Mã Python

#define input string
sample_string = "The Problem [email protected]"

#define special characters list
special_characters = ['!','#','$','%', '&','@','[',']',' ',']','_']

#print input sample string 
print["Original String:", sample_string]

# lambda and join function
sample_string = ''.join[filter[lambda i:i not in special_characters, sample_string]]
    
# print final sample string    
print["Final String:",sample_string]

đầu ra

Original String: The Problem [email protected]
Final String: TheProblemSeeker10

Cách xóa các ký tự đặc biệt khỏi Chuỗi Python Ngoại trừ Dấu cách

Đôi khi chúng ta cần khoảng trắng trong chuỗi nhưng không cần các ký tự đặc biệt, chúng ta có thể làm điều đó bằng các phương pháp sau

Phương pháp 1 – Sử dụng isalnum[]

Ở đây chúng ta cũng sẽ sử dụng isalnum[] nhưng trong trường hợp này, chúng ta sẽ kiểm tra ký tự khoảng trắng và nối nó với chuỗi cuối cùng

Các bước để xóa các ký tự đặc biệt khỏi Chuỗi Python Ngoại trừ Dấu cách là

  1. Lấy đầu vào từ người dùng hoặc xác định chuỗi mà bạn muốn xóa các ký tự đặc biệt
  2. Xác định một chuỗi rỗng mới có tên là “Final_string” để lưu trữ các ký tự chữ và số
  3. Áp dụng cho vòng lặp để truy cập từng ký tự trong chuỗi và kiểm tra xem ký tự đó có phải là dấu cách hay không
  4. Nếu ký tự là khoảng trắng, hãy nối ký tự đó với “Final_string”
  5. Nếu không phải là dấu cách thì hãy kiểm tra ký tự có phải là chữ và số bằng cách sử dụng phương thức isalnum[]
  6. Nếu ký tự là chữ và số, hãy nối ký tự đó với chuỗi mới “Final_string”
  7. Kết thúc vòng lặp For

Mã Python

input_string = "The Problem [email protected]"
final_string = ""
for character in input_string:
    if  character == " ":
     #checking charcter is space and if yes concat
        final_string = final_string + character
    else:
        if[character.isalnum[]]:
            final_string = final_string + character
print[final_string]

đầu ra

#define input string
input_string = "The Problem [email protected]"
final_string = "" #define string for ouput
for character in input_string:
    if[character.isalnum[]]:
        # if character is alphanumeric concat to final_string
        final_string = final_string + character
print["Sample String:", input_string]
print["Final String:", final_string]
0

Phương pháp 2 – Sử dụng Biểu thức Regex

Để xóa tất cả các ký tự đặc biệt khỏi chuỗi, chúng ta có thể áp dụng quy tắc bằng biểu thức regex. Để loại bỏ các ký tự đặc biệt khỏi biểu thức regex chuỗi có thể được định nghĩa là [^A-Za-z0-9]+.  

Để biết thêm về biểu thức chính quy [regex expression] bạn đọc tại đây

Mã Python

#define input string
input_string = "The Problem [email protected]"
final_string = "" #define string for ouput
for character in input_string:
    if[character.isalnum[]]:
        # if character is alphanumeric concat to final_string
        final_string = final_string + character
print["Sample String:", input_string]
print["Final String:", final_string]
1

đầu ra

#define input string
input_string = "The Problem [email protected]"
final_string = "" #define string for ouput
for character in input_string:
    if[character.isalnum[]]:
        # if character is alphanumeric concat to final_string
        final_string = final_string + character
print["Sample String:", input_string]
print["Final String:", final_string]
2

Sự kết luận

Theo cách này, bằng cách sử dụng các phương thức isalnum[], replace[], chúng ta có thể xóa các ký tự đặc biệt khỏi chuỗi python bao gồm cả khoảng trắng

Chúng ta cũng đã thấy cách loại bỏ các ký tự đặc biệt trong python ngoại trừ khoảng trắng bằng cách sử dụng biểu thức regex và phương thức isalnum[]

Chủ Đề