Cách xóa các ký tự đặc biệt khỏi tệp văn bản trong Python

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 các ký tự đặc biệt khỏi một chuỗi trong python

Trong Python, các chuỗi là bất biến. Nó có nghĩa là chúng tôi không thể thay đổi nội dung của nó. Nhưng chúng ta có thể tạo một chuỗi mới chỉ với một vài ký tự được chọn từ chuỗi ban đầu. Sau đó, chúng ta có thể gán lại chuỗi mới này cho biến ban đầu. Nó sẽ tạo hiệu ứng rằng chuỗi đã được sửa đổi và các ký tự không mong muốn đã bị xóa khỏi chuỗi đó

Hãy xem các cách khác nhau để xóa các ký tự đặc biệt khỏi một chuỗi,

Xóa các ký tự đặc biệt khỏi chuỗi bằng regex

Trong python, chuỗi. dấu chấm câu từ mô-đun chuỗi chứa tất cả các ký tự đặc biệt i. e

r"""!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~"""

Chúng ta có thể sử dụng điều này để tạo một mẫu biểu thức chính quy, mẫu này sẽ khớp với tất cả các ký tự đặc biệt trong một chuỗi. Sau đó, sử dụng hàm sub() của mô-đun regex, chúng ta có thể thay thế tất cả các ký tự đặc biệt bằng một chuỗi rỗng. Hãy hiểu với một ví dụ,

quảng cáo

import string import re sample_str = "Test&[88]%%$$$#$%-+String" # Create a regex pattern to match all special characters in string pattern = r'[' + string.punctuation + ']' # Remove special characters from the string sample_str = re.sub(pattern, '', sample_str) print(sample_str)

đầu ra

Test88String

Nó đã xóa tất cả các ký tự đặc biệt khỏi chuỗi

Cách tiếp cận khác

Thay vì tìm kiếm các ký tự đặc biệt trong chuỗi và loại bỏ chúng. Chúng tôi có thể tìm kiếm tất cả các ký tự chữ và số và loại bỏ các ký tự còn lại. Ví dụ,

import re sample_str = "Test&[88]%%$$$#$%-+String" # Create a regex pattern to match all characters except letter or numbers pattern = r'[^A-Za-z0-9]+' # Remove special characters from the string sample_str = re.sub(pattern, '', sample_str) print(sample_str)

đầu ra

Test88String

Nó cũng xóa tất cả các ký tự đặc biệt khỏi chuỗi

Xóa các ký tự đặc biệt khỏi chuỗi bằng cách sử dụng tính năng Hiểu danh sách và tham gia ()

Sử dụng tính năng hiểu danh sách, lặp lại từng ký tự của chuỗi và bỏ qua các ký tự không phải ký tự chữ và số. Nó trả về một danh sách các ký tự được lọc. Kết hợp các ký tự còn lại này bằng cách sử dụng phép nối () và gán lại cho cùng một biến. Nó sẽ tạo hiệu ứng là chúng ta đã xóa tất cả các ký tự đặc biệt khỏi chuỗi. Ví dụ,

sample_str = "Test&[88]%%$$$#$%-+String" # Remove special characters from a string sample_str = ''.join(item for item in sample_str if item.isalnum()) print(sample_str)

đầu ra

Test88String

Nó cũng xóa tất cả các ký tự đặc biệt khỏi chuỗi

Xóa các ký tự đặc biệt khỏi chuỗi bằng filter()

Trong Python, chúng ta có thể sử dụng hàm filter() để lọc ra các ký tự đặc biệt trong chuỗi. Các bước như sau,

  • Cùng với chuỗi cần sửa đổi, hãy chuyển hàm isalpha() cho hàm filter(), làm đối số điều kiện
  • hàm filter() lặp qua tất cả các ký tự của chuỗi và chỉ trả về những ký tự mà hàm isalpha() trả về True i. e. tất cả các ký tự ngoại trừ các ký tự đặc biệt
  • Sử dụng hàm join() để kết hợp tất cả các ký tự được trả về bởi hàm filter()
  • Gán lại chuỗi đã nối được trả về bởi hàm join() cho biến ban đầu. Nó sẽ tạo hiệu ứng là chúng ta đã xóa tất cả các ký tự đặc biệt khỏi chuỗi

Ví dụ,

sample_str = "Test&[88]%%$$$#$%-+String" # Remove special characters from a string sample_str = ''.join(filter(str.isalnum, sample_str)) print(sample_str)

đầu ra

Test88String

Nó cũng xóa tất cả các ký tự đặc biệt khỏi chuỗi

Xóa các ký tự đặc biệt khỏi chuỗi bằng translate()

Lớp string trong python, có hàm translate(). Nó chấp nhận một bảng dịch làm đối số và thay thế các ký tự trong chuỗi dựa trên ánh xạ trong bảng dịch. Chúng ta có thể tạo một bảng dịch, trong đó mỗi ký tự đặc biệt sẽ được ánh xạ tới một chuỗi rỗng. Để làm được điều đó, chúng ta có thể sử dụng chuỗi. dấu chấm câu, chứa tất cả các ký tự đặc biệt và hàm maketrans() tạo bảng dịch

Chúng ta sẽ chuyển bảng dịch này cho hàm translate() làm đối số. Do đó, hàm translate() sẽ thay thế tất cả các lần xuất hiện của các ký tự đặc biệt bằng một chuỗi rỗng. Về cơ bản, nó sẽ loại bỏ tất cả các lần xuất hiện của các ký tự đặc biệt khỏi chuỗi. Ví dụ,

import string sample_str = "Test&[88]%%$$$#$%-+String" # Create translation table in which special charcters # are mapped to empty string translation_table = str.maketrans('', '', string.punctuation) # Remove special characters from the string using translation table sample_str = sample_str.translate(translation_table) print(sample_str)

đầu ra

Test88String

Nó cũng xóa tất cả các ký tự đặc biệt khỏi chuỗi

Bản tóm tắt

Chúng tôi đã tìm hiểu về các cách khác nhau để xóa các ký tự đặc biệt khỏi chuỗi trong python

Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python

 
  • Hướng dẫn Pandas Phần #1 - Giới thiệu về Phân tích dữ liệu với Python
  • Hướng dẫn Pandas Phần #2 - Khái niệm cơ bản về Pandas Series
  • Hướng dẫn Pandas Phần #3 - Nhận & Đặt giá trị Chuỗi
  • Pandas Tutorial Part #4 - Thuộc tính & phương thức của Pandas Series
  • Hướng dẫn về Pandas Phần #5 - Thêm hoặc xóa các thành phần của Pandas Series
  • Hướng dẫn về Pandas Phần #6 - Giới thiệu về DataFrame
  • Hướng dẫn về Pandas Phần #7 - DataFrame. loc[] - Chọn Hàng/Cột theo Lập chỉ mục
  • Hướng dẫn về Pandas Phần #8 - DataFrame. iloc[] - Chọn Hàng/Cột theo Tên nhãn
  • Hướng dẫn về gấu trúc Phần #9 - Lọc các hàng trong khung dữ liệu
  • Hướng dẫn Pandas Phần #10 - Thêm/Xóa Hàng & Cột DataFrame
  • Hướng dẫn về Pandas Phần #11 - Các thuộc tính & phương thức DataFrame
  • Hướng dẫn Pandas Phần #12 - Xử lý dữ liệu bị thiếu hoặc giá trị NaN
  • Hướng dẫn về Pandas Phần #13 - Lặp lại các Hàng & Cột của DataFrame
  • Hướng dẫn Pandas Phần #14 - Sắp xếp DataFrame theo Hàng hoặc Cột
  • Hướng dẫn về gấu trúc Phần #15 - Hợp nhất hoặc ghép các khung dữ liệu
  • Hướng dẫn về Pandas Phần #16 - DataFrame GroupBy được giải thích bằng các ví dụ
 

Bạn đang muốn tạo dựng sự nghiệp trong Khoa học dữ liệu với Python?

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay

Chủ đề