Trong hướng dẫn này, chúng ta sẽ thảo luận về nhiều cách khác nhau để xóa tất cả các ký tự đặc biệt khỏi chuỗi trong Python. Chúng ta có thể loại bỏ các ký tự đặc biệt khỏi chuỗi bằng cách sử dụng hàm hoặc biểu thức chính quy
Xóa các ký tự đặc biệt khỏi chuỗi trong Python bằng phương pháp str.isalnum[]
Phương thức str.isalnum[]
trả về True
nếu các ký tự là ký tự chữ và số, nghĩa là không có ký tự đặc biệt nào trong chuỗi. Nó sẽ trả về
string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
0 nếu có bất kỳ ký tự đặc biệt nào trong chuỗiĐể xóa các ký tự đặc biệt khỏi chuỗi, chúng ta sẽ phải kiểm tra xem một ký tự có phải là chữ và số hay không và loại bỏ ký tự đó. Việc thực hiện ví dụ của phương pháp này là dưới đây
string = "Hey! What's up bro?"
new_string = ''.join[char for char in string if char.isalnum[]]
print[new_string]
đầu ra
Xóa các ký tự đặc biệt khỏi chuỗi trong Python bằng phương pháp string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
1
string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
Để loại bỏ các ký tự đặc biệt khỏi chuỗi, chúng ta cũng có thể sử dụng phương thức
string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
1, tương tự như phương pháp đã giải thích ở trên. Nhưng trong cách tiếp cận này, thay vì sử dụng vòng lặp string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
3 và câu lệnh string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
0 trên phương thức str.isalnum[]
, chúng ta sẽ sử dụng hàm string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
2mã ví dụ
string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
Xóa các ký tự đặc biệt khỏi chuỗi trong Python bằng biểu thức chính quy
Để xóa ký tự đặc biệt khỏi chuỗi, chúng ta có thể viết biểu thức chính quy sẽ tự động xóa ký tự đặc biệt khỏi chuỗi. Biểu thức chính quy cho điều này sẽ là
string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
3, trong đó string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
4 đại diện cho bất kỳ ký tự nào ngoại trừ các ký tự trong ngoặc và string = "Hey! What's up bro?"
new_string = ''.join[filter[str.isalnum, string]]
print[new_string]
5 đại diện cho chuỗi đó chỉ có thể có các chữ cái viết hoa và nhỏ cũng như các chữ số Chuỗi là loại dữ liệu được sử dụng phổ biến nhất trong Python và khi chúng được sử dụng hết mức, chúng sẽ gây ra vô số vấn đề. Điển hình nhất là chuỗi thoát tab mới được thêm vào cuối chuỗi hoặc các ký tự đặc biệt thay cho dấu trọng âm. Những lỗi này cực kỳ phổ biến khi tương tác với các tệp. Bất kể điều gì đã khiến định dạng bị hỏng, chúng ta phải có thể xóa các ký tự này khỏi chuỗi. Python có nhiều chức năng tích hợp sẵn cho các mục đích khác nhau. Trong Python, các chuỗi là bất biến. Điều đó có nghĩa là chúng tôi sẽ không thể thay đổi nội dung của nó. Tuy nhiên, chúng ta có thể tạo một chuỗi mới chỉ bằng một vài ký tự từ chuỗi cũ. Biến ban đầu sau đó có thể được gán cho chuỗi cập nhật. Nó sẽ xuất hiện như thể chuỗi đã bị thay đổi, với các ký tự không mong muốn đã bị xóa. Chúng ta sẽ xem xét một số phương pháp khác nhau để xóa các ký tự đặc biệt khỏi chuỗi trong bài đăng này
ví dụ 1
Ví dụ đầu tiên bao gồm việc sử dụng Python isalnum. Phương thức chuỗi Python. isalnum[] trả về True nếu có các ký tự chữ và số trong chuỗi đã chỉ định. Nó trả về Sai nếu đó không phải là ký tự chữ và số. Điều này có thể được sử dụng để nối thêm các ký tự chữ và số chỉ vào một chuỗi mới được tạo bằng cách lặp qua một chuỗi. Xem xét ví dụ sau. Trong mã bên dưới, bạn có thể thấy rằng chúng tôi đã tạo hai chuỗi, một trong số đó bao gồm chuỗi cũ của chúng tôi và chuỗi còn lại trống. Sử dụng. isalnum[], chúng tôi lặp qua từng ký tự trong chuỗi của mình và xác định xem đó có phải là chữ và số không. Nếu đúng như vậy, chúng tôi sẽ thêm ký tự vào chuỗi của chúng tôi. Chúng tôi không làm bất cứ điều gì nếu nó không phải là
mytxt = 'python -- là. dễ dàng. '
res_txt = ''
cho character in mytxt:
if . isalnum[] .
res_txt + = ký tự
in[res_txt]
Đây là kết quả và bạn có thể thấy tất cả các ký tự đặc biệt đã được xóa thành công
ví dụ 2
Bây giờ chúng ta sẽ xóa các ký tự đặc biệt khỏi chuỗi bằng biểu thức chính quy. Biểu thức chính quy là một tập hợp các ký tự có cú pháp cụ thể có thể được sử dụng để khớp hoặc tìm các chuỗi hoặc tập hợp chuỗi khác. Mô-đun re trong Python hỗ trợ đầy đủ các biểu thức chính quy kiểu Perl. Khi một lỗi xuất hiện trong khi xây dựng một biểu thức chính quy, mô-đun re sẽ tạo lại. ngoại lệ lỗi. Mô-đun biểu thức chính quy trong Python, re, chứa một số kỹ thuật thao tác chuỗi hữu ích
Phương thức sub[] cho phép chúng ta thêm các chuỗi bằng các chuỗi thay thế, đây là một trong những chiến lược này. Chúng tôi không phải chỉ định ký tự mà chúng tôi muốn thay thế khi sử dụng thư viện lại, đây là một trong những lợi ích. Do đó, chúng tôi có thể chỉ định phạm vi ký tự thay thế [hoặc giữ nguyên]. Để giữ tất cả các ký tự chữ cái và dấu cách, chúng ta có thể nói với. sub[] để thay thế mọi thứ trừ [a-zA-Z0-9]. Hãy xem qua những gì chúng tôi đã hoàn thành trong mã. Một biến đã được tạo cho chuỗi của chúng tôi. Chúng tôi đã sử dụng lại. sub[] để tạo phương thức thay thế của chúng tôi. Hàm chấp nhận ba đối số. [1] mẫu để thay thế [chúng tôi đã sử dụng để chỉ ra rằng chúng tôi không muốn thay thế bất cứ thứ gì], [2] các ký tự để thay thế và [3] chuỗi để thay thế trong
nhập lại
mytxt = 'python -- là. dễ dàng. '
res_txt = re . sub[ r "[^a-zA-Z0-9 ], "", mytxt]
print[res_txt]
Kiểm tra đầu ra bên dưới của đoạn mã trên
ví dụ 3
Phương thức filter[] của Python có thể xóa các ký tự đặc biệt khỏi một chuỗi, tương tự như vòng lặp for. Phương thức filter[] nhận hai tham số để thực thi đúng chương trình. Bạn sẽ cần một chức năng có thể lặp lại và một chức năng để đánh giá để lọc. Vì thực tế là các chuỗi có thể lặp lại nên chúng tôi có thể chuyển vào một phương thức để xóa các ký tự đặc biệt. Giống như kỹ thuật vòng lặp for,. kỹ thuật isalnum[] có thể được sử dụng để xác minh xem một chuỗi con có phải là chữ và số hay không. Hãy xem cách nó hoạt động trong Python. Một đối tượng bộ lọc chỉ có các ký tự chữ và số đã được tạo bằng chức năng bộ lọc trong mã bên dưới. Các ký tự của chúng ta sau đó được liên kết với các ký tự trống bằng str. tham gia kỹ thuật
nhập lại
mytxt = 'python -- là. dễ dàng. '
res_txt = '' . tham gia[bộ lọc[str . .isalnum, mytxt ]]
print[res_txt]
Ở đây bạn có thể thấy rằng các ký tự đặc biệt đã bị xóa
Phần kết luận
Bạn đã học cách xóa các ký tự đặc biệt khỏi chuỗi Python trong bài đăng này. Điều này được thực hiện bằng cách sử dụng phương thức isalphanum[], thư viện lại biểu thức chính quy và phương thức filter[]. Chúng tôi cũng đã đề cập đến các ví dụ để đạt được mục đích này thành công. Làm việc với dữ liệu văn bản ngày càng trở nên quan trọng;