Python xóa dấu câu và ký tự đặc biệt khỏi chuỗi

Trong khi thực hiện một số dự án Python, chúng ta cần xóa các Dấu chấm câu để làm cho mã của chúng ta trông gọn gàng hơn. Vì vậy, hãy ghi nhớ điều này, Python Pool mang đến cho bạn một bài viết chuyên sâu về cách xóa dấu chấm câu khỏi chuỗi, danh sách và tệp trong Python

Toàn bộ bài viết sẽ được chia thành ba phần. Trong phần đầu tiên, chúng ta sẽ xem xét việc loại bỏ dấu chấm câu khỏi một chuỗi. Sau đó, chúng ta sẽ chuyển sang phần Danh sách và sau đó, chúng ta sẽ xem cách xóa Dấu chấm câu khỏi một tệp trong Python. Theo đó, không lãng phí thời gian, chúng ta hãy đi thẳng vào phần hướng dẫn

nội dung

  • Dấu chấm câu là gì?
  • Xóa dấu chấm câu khỏi chuỗi trong Python
  • Các cách để xóa dấu chấm câu khỏi chuỗi trong Python
  • Sử dụng Vòng lặp for và Chuỗi dấu câu
  • Sử dụng Regex để xóa dấu câu khỏi chuỗi trong Python
  • Bằng cách sử dụng phương thức translate[] để Xóa dấu câu khỏi chuỗi trong Python
  • Sử dụng Phương thức join[] để xóa dấu câu khỏi chuỗi trong Python
  • Bằng cách sử dụng biểu thức trình tạo
  • Xóa dấu chấm câu khỏi danh sách trong Python
  • Cách xóa dấu câu khỏi tệp trong Python
  • Bạn cũng có thể quan tâm đến việc đọc
  • Đăng kí
  • Sự kết luận

Dấu chấm câu là gì?

Theo Google. Bất kỳ dấu nào [chẳng hạn như dấu chấm, dấu phẩy hoặc dấu chấm hỏi] được sử dụng để chia một đoạn văn bản thành các câu, mệnh đề, v.v. , được gọi là dấu chấm câu. Nói rộng ra, có 14 Dấu chấm câu được liệt kê trong Ngữ pháp tiếng Anh. Chúng là dấu chấm [dấu chấm], dấu chấm hỏi, dấu chấm than/dấu chấm than, dấu phẩy, dấu chấm phẩy, dấu hai chấm, dấu gạch ngang, dấu gạch nối, dấu ngoặc đơn, dấu ngoặc đơn, dấu ngoặc nhọn, dấu nháy đơn, dấu ngoặc kép và dấu chấm lửng. Trong bài viết này, chúng ta sẽ xem cách xóa các dấu chấm câu này khỏi chương trình của chúng ta bằng Python

Xóa dấu chấm câu khỏi chuỗi trong Python

Chuyển sang phần đầu tiên của bài viết, chúng ta sẽ thảo luận về tất cả các cách có thể để xóa dấu chấm câu khỏi chuỗi trong Python. Đồng thời, đào sâu, nghiên cứu về chủ đề đặc biệt này. Tôi đã biết về 5 cách để loại bỏ dấu câu khỏi một chuỗi. Tôi sẽ cố gắng hết sức để giải thích thông qua các ví dụ và hướng dẫn từng bước để có ý tưởng rõ ràng. Bạn sẽ không xem các trang web hoặc video hướng dẫn khác sau khi đọc toàn bộ bài viết này

Các cách để xóa dấu chấm câu khỏi chuỗi trong Python

5 cách để loại bỏ dấu câu khỏi chuỗi trong Python

  1. Sử dụng chuỗi vòng lặp và dấu chấm câu
  2. Sử dụng Regex
  3. Bằng cách sử dụng phương thức translate[]
  4. Sử dụng phương thức join[]
  5. Bằng cách sử dụng Biểu thức Trình tạo

Hãy bắt đầu hành trình của chúng ta với năm cách trên để xóa dấu chấm câu khỏi Chuỗi trong Python

Sử dụng Vòng lặp for và Chuỗi dấu câu

Chương trình này sẽ loại bỏ tất cả các dấu câu ra khỏi một chuỗi. Chúng tôi sẽ đánh giá từng phần của chuỗi bằng vòng lặp for. Thỉnh thoảng, chúng ta có thể muốn tách một câu thành một danh sách các cụm từ. Trong những tình huống này, trước tiên chúng ta có thể muốn xóa chuỗi và loại bỏ tất cả các dấu chấm câu. Đây là một minh họa tốt về cách nó được hoàn thành

Hãy xem hoạt động thông qua một ví dụ

punctuations = '''![]-[]{};:'"\,./[email protected]#$%^&*_~'''

inp_str = input["Enter a string: "]

no_punc = ""
for char in inp_str:
   if char not in punctuations:
       no_punc = no_punc + char

print["Punctuation Free String: ",no_punc]

đầu ra

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool

Giải trình

Phương pháp trên để xóa dấu câu khỏi một chuỗi trong python là một cách đơn giản để thực hiện nhiệm vụ này. Trong phần này, chúng tôi đánh giá các dấu câu bằng cách sử dụng chuỗi thô có chứa dấu câu và chúng tôi tạo chuỗi sau khi xóa các dấu câu đó

Trong chương trình này, đầu tiên chúng ta xác định một chuỗi có tên là 'dấu chấm câu' bao gồm tất cả các dấu chấm câu. Sau đó, chúng tôi đã lấy thông tin đầu vào từ người dùng và lưu trữ nó trong ‘inp_str’. Sau đó, chúng tôi lặp lại chuỗi được cung cấp bằng vòng lặp for.
Chúng tôi kiểm tra xem ký tự có phải là dấu chấm câu hay không bằng cách sử dụng đánh giá tư cách thành viên trong mỗi lần lặp lại. Chúng tôi có một chuỗi trống mà chúng tôi bao gồm [nối] ký tự nếu nó không có dấu chấm câu. Cuối cùng, chúng tôi hiển thị chuỗi đã được làm sạch.

Sử dụng Regex để xóa dấu câu khỏi chuỗi trong Python

Python cung cấp cho chúng ta thư viện regex để quản lý tất cả các loại biểu thức chính quy, đồng thời kiểm soát và thao tác tương tự. Nếu bạn không biết biểu thức chính quy là gì, hãy để tôi nói cho bạn biết. Biểu thức chính quy là một chuỗi các ký tự xác định mẫu tìm kiếm. Thông thường, các mẫu này được sử dụng bởi thuật toán tìm kiếm chuỗi cho các thao tác “tìm” hoặc “tìm và thay thế” trên chuỗi hoặc cho tín hiệu đầu vào. Đó là một chiến lược được phát triển trong khoa học máy tính lý thuyết và lý thuyết ngôn ngữ chính thức

Ghi chú. Chúng tôi cần nhập lại thư viện để làm việc với biểu thức chính quy

Regex trong python đi kèm với chức năng chuỗi con và chúng tôi sẽ sử dụng chức năng đó. Để xóa dấu chấm câu khỏi chuỗi trong python

Cú pháp của lại. phụ

re.sub[pattern, replacement, original_string]
  • họa tiết. Các dấu chấm câu [mẫu] chúng tôi muốn thay thế
  • thay thế. Chuỗi thay thế mẫu [chủ yếu là chuỗi rỗng]
  • original_string. Chuỗi ban đầu mà chúng ta cần xóa dấu câu [mẫu]

Hãy xem hoạt động thông qua một ví dụ

Ví dụ để xóa dấu câu khỏi chuỗi trong Python bằng Regex

import re

my_string = "Python P$#@!*oo[]&l,. is ##th$e$ Bes.t pl*ace to [email protected] P][*y&tho.n"

op_string = re.sub[r'[^\w\s]','',my_string]

print['String with Punctuation: ', my_string]
print['String without Punctuation: ', op_string]

đầu ra

String with Punctuation:  Python P$#@!*oo[]&l,. is ##th$e$ Bes.t pl*ace to [email protected] P][*y&tho.n
String without Punctuation:  Python Pool is the Best place to Learn Python

Giải trình

Trong ví dụ trên, chúng ta cần nhập thư viện regex vì chúng ta đang sử dụng hàm có sẵn trong thư viện regex. Sau đó, chúng tôi có chuỗi đầu vào với dấu chấm câu trong đó. Và chúng tôi đã lưu trữ nó trong biến my_string. Sau đó, với chức năng re. sub chúng tôi có, chúng tôi đã loại bỏ tất cả các dấu câu. Ở đây trong các thông số của 're. sub’ bạn có thể thắc mắc r'[^\w\s] là gì. Vì vậy, về cơ bản, r'[^\w\s] là một mẫu để chọn các ký tự và số

Tôi thích sử dụng Biểu thức chính quy hơn vì chúng dễ bảo trì và cũng dễ hiểu hơn [nếu người khác đang đọc mã của bạn]

Bằng cách sử dụng phương thức translate[] để Xóa dấu câu khỏi chuỗi trong Python

Phương thức dịch chuỗi là cách nhanh nhất để xóa dấu câu khỏi chuỗi trong python. Hàm translate[] có sẵn trong thư viện chuỗi tích hợp. Vì vậy, chúng ta cần nhập mô-đun chuỗi để sử dụng chức năng dịch

Nếu bạn không biết chức năng dịch làm gì, hãy để tôi giải thích cho bạn. Phương thức 

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
5 trả về một chuỗi trong đó một số ký tự cụ thể được thay thế bằng ký tự được nêu trong từ điển hoặc trong bảng ánh xạ

Hãy xem hoạt động thông qua một ví dụ

Ví dụ để xóa dấu câu khỏi chuỗi trong Python bằng hàm dịch

import string

my_string = "H*!i I a&m [email protected]$an F][&rom Python P$#@!*oo[]&l,"

op_string = my_string.translate[str.maketrans['', '', string.punctuation]]

print['String with Punctuation: ', my_string]
print['String without Punctuation: ', op_string]

đầu ra

String with Punctuation:  H*!i I a&m [email protected]$an F][&rom Python P$#@!*oo[]&l,
String without Punctuation:  Hi I am Karan From Python Pool

Giải trình

Trong ví dụ trên, trước tiên chúng ta cần nhập thư viện chuỗi. Vì phương thức dịch là một phần của mô-đun chuỗi trong python. Sau đó, chúng tôi đã khởi tạo chuỗi bao gồm rất nhiều dấu chấm câu. Chúng ta có thể xóa tất cả dấu chấm câu khỏi các giá trị này bằng phương thức translate[] trong bước tiếp theo. Cách thức hoạt động của phương thức này là nó tạo một bản sao của một chuỗi với một bộ giá trị cụ thể được thay thế

Để thực hiện công việc này, chúng tôi sẽ sử dụng chuỗi. dấu câu như một tham số trong phương thức dịch. Phương thức này, là một phần của thư viện “chuỗi”, cung cấp cho chúng ta danh sách tất cả các dấu chấm câu

Sử dụng Phương thức join[] để xóa dấu câu khỏi chuỗi trong Python

Chúng ta cũng có thể sử dụng phương thức

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
6 để xóa dấu chấm câu khỏi chuỗi. Nếu bạn không biết về phương pháp tham gia, hãy để tôi giải thích ngắn gọn cho bạn. Phương thức
Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
6 cung cấp một cách tiếp cận linh hoạt để tạo các chuỗi từ các đối tượng có thể lặp lại. Nó kết hợp từng thành phần của một lần lặp [ví dụ: danh sách, chuỗi và bộ] với một dấu tách chuỗi [chuỗi trên phương thức nối[] được gọi] và trả về chuỗi được nối

Cú pháp của phương thức 

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
6 là

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
1

Phương thức 

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
6 lấy tham số có thể lặp lại làm tham số.
Hãy xem qua một ví dụ về cách chúng ta có thể xóa dấu chấm câu khỏi một chuỗi trong python bằng phương thức
Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
6.

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
4

đầu ra

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
5

Giải trình

Trong ví dụ đã cho, trước tiên chúng ta bắt đầu nhập mô-đun chuỗi. Mô-đun này cung cấp nhiều bộ ký tự theo nhu cầu của bạn. Trong trường hợp của chúng tôi, chúng tôi yêu cầu tất cả các ký tự dấu chấm câu và tạo một tập hợp các dấu chấm câu đó. Tiếp theo, chúng tôi đã sử dụng phương thức nối để kết hợp tất cả các ký tự bằng cách loại bỏ các dấu chấm câu trong một dòng

Hàm tham gia có thể được sử dụng làm trình khởi tạo một lớp cho danh sách và chuỗi. Trong trường hợp này, chúng tôi đã sử dụng nó cho chuỗi mẫu

Bằng cách sử dụng biểu thức trình tạo

Phương pháp cuối cùng nhưng không phải là ít nhất để loại bỏ dấu chấm câu khỏi một chuỗi trong Python là sử dụng trình tạo. Trình tạo là một cách đơn giản để tạo trình vòng lặp. Nó trả về một đối tượng [iterator] mà chúng ta có thể lặp lại [mỗi lần một giá trị]

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
0

đầu ra

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
1

Giải trình

Có nhiều cách để tạo một máy phát điện. Hai trong số đó là bằng cách sử dụng báo cáo năng suất và [] khả năng hiểu. Trong ví dụ đã cho, chúng tôi đã sử dụng năng suất để tạo một đối tượng trình tạo cho chuỗi của chúng tôi

Đầu tiên, chúng ta bắt đầu bằng cách tạo một hàm chấp nhận một chuỗi và sau đó trả về chuỗi trong câu lệnh cuối cùng. Câu lệnh yield cho phép hàm trả về một đối tượng trình tạo, tiếp tục sử dụng hàm next[]. Trong câu lệnh cuối cùng của mã của chúng tôi, chúng tôi đã sử dụng next[sample] để lấy mục từ đối tượng trình tạo

Xóa dấu chấm câu khỏi danh sách trong Python

Chúng ta đã nói về rất nhiều phương pháp để loại bỏ dấu chấm câu khỏi chuỗi trong Python. Nhưng chuỗi không phải là thứ duy nhất trong python. Chúng tôi cũng có Danh sách. Danh sách là một trong những kiểu dữ liệu tích hợp phổ biến nhất. Vì vậy, chúng ta bắt buộc phải nói về một kiểu dữ liệu phổ biến như vậy và cách xóa dấu chấm câu khỏi Danh sách trong Python

Nếu các bạn không biết danh sách là gì, hãy để tôi giải thích ngắn gọn cho bạn. Danh sách này là kiểu dữ liệu linh hoạt nhất có sẵn trong Python. Danh sách có thể được viết dưới dạng danh sách các giá trị [mục] được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Điều quan trọng về danh sách là các mục trong danh sách không nhất thiết phải cùng loại

Không lãng phí thời gian, hãy trực tiếp chuyển sang ví dụ

Ví dụ để xóa dấu chấm câu khỏi danh sách trong Python

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
2

đầu ra

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
3

Giải trình

Danh sách là một trong những loại dữ liệu được sử dụng nhiều nhất trong python. Có nhiều cách để lặp qua danh sách. Trong ví dụ trên, chúng tôi sẽ sử dụng khả năng hiểu danh sách để lặp qua tất cả các phần tử của danh sách

Đầu tiên, chúng tôi bắt đầu bằng cách tạo một hàm tùy chỉnh chấp nhận một chuỗi làm tham số và xóa tất cả các dấu câu của chuỗi. Quá trình loại bỏ được thực hiện bằng cách thay thế tất cả các dấu chấm câu bằng một ký tự trống trong chuỗi. Sau đó, chúng tôi tạo một danh sách mẫu bao gồm nhiều chuỗi và sử dụng phương pháp hiểu danh sách để áp dụng remove_punc[] trên từng thành phần danh sách. Cuối cùng, để kiểm tra danh sách, print[] được sử dụng

Cách xóa dấu câu khỏi tệp trong Python

Trong khi thực hiện một số dự án và một số nhiệm vụ toán học, cần phải có một tệp văn bản rõ ràng và sạch sẽ để làm việc với. Mà không có dấu chấm câu trong đó. Vì vậy, chúng ta có thể thực hiện các phép tính toán học một cách dễ dàng

Tệp văn bản gốc có dấu câu

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool
4

đầu ra

Làm sạch tệp văn bản sau khi xóa dấu câu bằng Python

Giải trình

Đọc và ghi tệp là một phần không thể thiếu trong mã python và mọi lập trình viên đều phải biết cách thực hiện. Để làm điều tương tự, chúng tôi đã sử dụng phương thức open[] để đọc và ghi tệp

Đầu tiên, chúng tôi khai báo một biến đầu vào của người dùng yêu cầu người dùng nhập tên tệp. Tiếp theo, chúng tôi đã tạo một chức năng tùy chỉnh để xóa tất cả các ký tự dấu câu chuỗi. Sau đó, chúng tôi đọc tệp bằng câu lệnh open[]. Để tránh lỗi Không tìm thấy tệp, chúng tôi đã sử dụng phương pháp thử bắt để thông báo cho người dùng cuối rằng tên tệp không hợp lệ. Sau đó, chúng tôi sử dụng remove_punc[] để xóa tất cả các ký tự dấu câu và viết lại tệp bằng phương thức open[]

Bạn cũng có thể quan tâm đến việc đọc

  • Cách xóa ký tự khỏi chuỗi Python
  • Python Xóa các bản sao khỏi danh sách bằng các ví dụ

Đăng kí

Điều này có thể có ứng dụng trong tiền xử lý dữ liệu trong miền Khoa học dữ liệu và cả trong lập trình hàng ngày.  

Sự kết luận

Tóm lại, trong bài đăng này, bạn đã học được nhiều phương pháp khác nhau để xóa dấu chấm câu khỏi chuỗi, danh sách và tệp trong Python

Tuy nhiên, nếu bạn có bất kỳ nghi ngờ hoặc câu hỏi nào, hãy cho tôi biết trong phần bình luận bên dưới. Tôi sẽ cố gắng giúp bạn trong thời gian sớm nhất

Chủ Đề