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
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âuimport 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][\]^_`{|}~
4Muố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 nhanhprint[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ỗngTrong 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[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
9Phầ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