Trình kiểm tra dấu chấm câu Python

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để xóa dấu câu khỏi chuỗi. Bạn sẽ học cách tách dấu câu khỏi chuỗi Python bằng phương thức str.translate(), phương thức str.replace(), thư viện biểu thức chính quy phổ biến re và cuối cùng là sử dụng vòng lặp for

Có thể làm việc và thao tác với các chuỗi là một kỹ năng cần thiết cho bất kỳ Pythonista nào. Các chuỗi bạn tìm thấy qua internet hoặc các tệp của bạn thường sẽ yêu cầu khá nhiều công việc để có thể phân tích chúng. Một trong những nhiệm vụ bạn thường gặp là khả năng sử dụng Python để xóa dấu chấm câu khỏi chuỗi

Câu trả lời nhanh. Sử dụng .translate() để đạt hiệu quả nhanh nhất

Trình kiểm tra dấu chấm câu Python

Mục lục

Sử dụng Python để xóa dấu câu khỏi chuỗi bằng Dịch

Một trong những cách dễ nhất để xóa dấu chấm câu khỏi chuỗi trong Python là sử dụng phương thức str.translate(). Phương thức translate() thường lấy một bảng dịch mà chúng ta sẽ thực hiện bằng cách sử dụng phương thức

print(string.punctuation)

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

Hãy cùng xem cách chúng ta có thể sử dụng phương thức .translate() để xóa dấu chấm câu khỏi một chuỗi trong Python. Để thực hiện việc này, chúng tôi sẽ nhập thư viện

print(string.punctuation)

# Returns: !"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
2 tích hợp, đi kèm với thuộc tính dấu chấm câu

import string

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = a_string.translate(str.maketrans('', '', string.punctuation))

print(new_string)

# Returns: hi what is the weather like

Phương thức

print(string.punctuation)

# Returns: !"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
0 ở đây có ba đối số, hai đối số đầu tiên là các chuỗi rỗng và đối số thứ ba là danh sách các dấu câu mà chúng ta muốn xóa. Điều này báo cho hàm thay thế tất cả dấu chấm câu bằng
print(string.punctuation)

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

Muốn tìm hiểu thêm? . ) để xóa một ký tự khỏi chuỗi trong Python, hãy xem

Chuỗi của Python là gì. chấm câu?

Python được tích hợp sẵn một thư viện,

print(string.punctuation)

# Returns: !"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
2, bao gồm một thuộc tính
print(string.punctuation)

# Returns: !"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
6 bao gồm nhiều ký tự dấu chấm câu được tích hợp sẵn. Vì thư viện được tích hợp sẵn nên bạn không cần lo lắng về việc phải cài đặt nó

Trong trường hợp bạn tò mò về dấu chấm câu nào được bao gồm trong

print(string.punctuation)

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

print(string.punctuation)

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

Sử dụng Python để loại bỏ dấu câu khỏi chuỗi có biểu thức chính quy (regex)

Thư viện biểu thức chính quy của Python, re, có cảm giác như nó có thể làm bất cứ thứ gì – bao gồm cả việc loại bỏ dấu chấm câu khỏi một chuỗi

Biểu thức chính quy rất tuyệt vì nó được tích hợp sẵn một số lớp ký tự hữu ích cho phép chúng tôi chọn các loại ký tự khác nhau. Ví dụ: \w\s tìm kiếm các từ hoặc khoảng trắng. Chúng ta có thể chọn ngược lại với điều này (i. e. , bất cứ thứ gì không phải là từ hoặc khoảng trắng) sử dụng ký tự ^. Sau đó, điều này cho phép chúng tôi chọn bất kỳ thứ gì không phải là từ hoặc khoảng trắng, trong trường hợp của chúng tôi, nó chọn dấu chấm câu

Hãy xem cách chúng ta có thể sử dụng regex để xóa dấu chấm câu trong Python

import re

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = re.sub(r'[^\w\s]', '', a_string)

print(new_string)

# Returns: hi what is the weather like

Đây là một cách tiếp cận tuyệt vời để tìm kiếm bất kỳ thứ gì không phải là ký tự chữ và số hoặc khoảng trắng và thay thế nó bằng một chuỗi trống, do đó loại bỏ nó

Sử dụng Python để xóa dấu câu khỏi chuỗi bằng str. thay thế

Phương thức str.replace() giúp dễ dàng thay thế một ký tự. Ví dụ: nếu bạn chỉ muốn thay thế một ký tự dấu chấm câu, đây sẽ là một giải pháp đơn giản, dễ hiểu

Giả sử bạn chỉ muốn thay thế ký tự

import re

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = re.sub(r'[^\w\s]', '', a_string)

print(new_string)

# Returns: hi what is the weather like
0 từ chuỗi của chúng tôi, chúng tôi có thể sử dụng phương thức str.replace() để thực hiện việc này. Chúng ta hãy xem làm thế nào để

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = a_string.replace('!', '')

print(new_string)

# Returns: hi. wh?at is the weat[h]er lik?e.

Những gì chúng tôi đã làm ở đây, là thêm phương thức

import re

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = re.sub(r'[^\w\s]', '', a_string)

print(new_string)

# Returns: hi what is the weather like
2 vào chuỗi của chúng tôi. Tham số đầu tiên là chuỗi cần thay thế, trong trường hợp này là ký tự
import re

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = re.sub(r'[^\w\s]', '', a_string)

print(new_string)

# Returns: hi what is the weather like
0 của chúng tôi. Tham số thứ hai là thay thế nó bằng gì, trong trường hợp này là một chuỗi rỗng

Trong ví dụ tiếp theo, bạn sẽ học cách sử dụng vòng lặp for để thay thế tất cả dấu chấm câu từ một chuỗi bằng vòng lặp for

Sử dụng Python để loại bỏ dấu câu khỏi chuỗi bằng vòng lặp for

Trong phần trước của hướng dẫn, bạn đã học cách sử dụng phương pháp str.replace() để xóa một ký tự dấu chấm câu. Trong phần này, chúng tôi sẽ lặp lại ví dụ này, nhưng sử dụng vòng lặp for để có thể xóa mọi ký tự dấu câu

Hãy xem cách chúng ta có thể làm điều này trong Python

import string

a_string = '!hi. wh?at is the weat[h]er lik?e.'

for character in string.punctuation:
    a_string = a_string.replace(character, '')

print(a_string)

# Returns: hi what is the weather like

Một trong những điều cần lưu ý ở đây là chúng tôi đang viết đè lên chuỗi gốc của chúng tôi ở đây. Chúng tôi không thể gán một chuỗi mới, vì nó sẽ liên tục thay thế chính nó

Bây giờ bạn đã học được một số phương pháp, hãy xem phương pháp nào trong số những phương pháp này là nhanh nhất

Cách nhanh nhất để tách Chuỗi Python khỏi Dấu chấm câu là gì?

Trong hướng dẫn này, bạn đã học được ba phương pháp khác nhau để xóa dấu chấm câu khỏi một chuỗi trong Python. Hãy xem cách nào trong số những phương pháp này là nhanh nhất

Đối với thử nghiệm này, chúng tôi đã tạo một chuỗi dài hơn 1.000.000.000 ký tự và xóa tất cả dấu chấm câu khỏi chuỗi bằng Python

Hãy cùng xem kết quả

Thời gian thực hiện của phương thức. dịch()2. 35 giây biểu thức chính quy88. 8 giây cho vòng lặp với chuỗi. thay thế () 20. 6 giâyTìm ra phương pháp nhanh nhất để thay thế tất cả dấu câu trong một chuỗi trong Python
Trình kiểm tra dấu chấm câu Python
Cách nhanh nhất để xóa dấu câu khỏi chuỗi trong Python

Cách nhanh nhất để xóa dấu câu khỏi chuỗi trong Python là gì?

Phương thức str.translate() là cách nhanh nhất để xóa dấu chấm câu khỏi chuỗi trong Python – đôi khi nhanh hơn tới 40 lần

Tất nhiên, tốc độ không phải là tất cả, nhưng việc tìm mã làm chậm đáng kể mã của bạn thường sẽ dẫn đến trải nghiệm người dùng kém hơn

Các câu hỏi thường gặp

Chuỗi của Python là gì. chấm câu?

Python comes with a built-in library, string, that includes all common punctuation characters using the

print(string.punctuation)

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

Làm cách nào bạn có thể thay thế dấu câu bằng dấu cách trong Python?

Cách dễ nhất để thay thế dấu câu bằng dấu cách trong Python là sử dụng phương thức .translate() với thư viện

print(string.punctuation)

# Returns: !"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
6. Đơn giản chỉ cần viết.
import re

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = re.sub(r'[^\w\s]', '', a_string)

print(new_string)

# Returns: hi what is the weather like
9

Phần kết luận

Trong bài đăng này, bạn đã học cách tách dấu câu khỏi chuỗi Python. Bạn đã học cách thực hiện việc này bằng cách sử dụng phương thức str.translate(), cũng như các biểu thức chính quy. Bạn cũng đã học cách thực hiện điều này với phương pháp

import re

a_string = '!hi. wh?at is the weat[h]er lik?e.'
new_string = re.sub(r'[^\w\s]', '', a_string)

print(new_string)

# Returns: hi what is the weather like
2 cũng như với vòng lặp for. Cuối cùng, bạn đã học được phương pháp nào là nhanh nhất

Dấu chấm câu có được sử dụng trong Python không?

Một chuỗi Python có thể chứa các chữ cái, khoảng trắng, số và dấu chấm câu. Các ký tự dấu câu bao gồm dấu phẩy, dấu chấm và dấu chấm phẩy

Làm cách nào để xóa dấu câu khỏi chuỗi Python bằng regex?

Sử dụng Phương thức Biểu thức Chính quy (REGEX) . r'[^ws]'. Mẫu để chọn ký tự và số. with the help of a sub-string function and pattern. r'[^ws]' : Pattern to select character and numbers.