Hướng dẫn remove trailing punctuation python - loại bỏ python dấu chấm câu ở cuối

1 câu trả lời

Bạn làm chính xác những gì bạn đề cập trong câu hỏi của bạn, bạn chỉ cần str.strip nó.

from string import punctuation
s = '.$ABC-799-99,#'

print(s.strip(punctuation))

Output:

 ABC-799-99

str.strip có thể lấy nhiều ký tự để xóa.

Nếu bạn chỉ muốn xóa dấu câu hàng đầu, bạn có thể str.lstrip:

s.lstrip(punctuation)

Hoặc rstrip bất kỳ dấu câu kéo dài nào:

 s.rstrip(punctuation)

Đã trả lời ngày 14 tháng 5 năm 2016 lúc 0:52May 14, 2016 at 0:52

Hướng dẫn remove trailing punctuation python - loại bỏ python dấu chấm câu ở cuối

2

  • Cám ơn. Nếu tôi giữ $,

     ABC-799-99
    
    0, đó có phải là cách tốt hơn không?

    Ngày 14 tháng 5 năm 2016 lúc 0:58

  • @sparkandshine, không phải lo lắng, tôi nghĩ

     ABC-799-99
    
    1 là khá tốt, tùy chọn khác là tạo ra một chuỗi các ký tự dấu chấm câu trừ đi $ và sử dụng điều mà tôi nghĩ sẽ khó khăn hơn rất nhiều.

    Ngày 14 tháng 5 năm 2016 lúc 1:01

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để loại bỏ dấu câu từ một chuỗi. Bạn có thể học cách loại bỏ dấu chấm câu từ chuỗi Python bằng phương pháp

 ABC-799-99
2, phương pháp
 ABC-799-99
3, thư viện biểu thức chính quy phổ biến
 ABC-799-99
4, và cuối cùng, sử dụng cho vòng lặp.Python to remove punctuation from a string. You’ll learn how to strip punctuation from a Python string using the
 ABC-799-99
2 method, the
 ABC-799-99
3 method, the popular regular expression library
 ABC-799-99
4, and, finally, using for-loops.

Có thể làm việc với và thao tác chuỗi là một kỹ năng thiết yếu 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ụ mà bạn thường gặp là khả năng sử dụng Python để xóa dấu câu từ một chuỗi.

Câu trả lời nhanh: Sử dụng

 ABC-799-99
5 cho hiệu suất nhanh nhất for the fastest performance

Hướng dẫn remove trailing punctuation python - loại bỏ python dấu chấm câu ở cuối

  • Sử dụng Python để xóa dấu câu từ một chuỗi có dịch
  • Sử dụng Python để dải dấu câu từ một chuỗi có biểu thức thông thường (Regex)
  • Sử dụng Python để xóa dấu câu từ chuỗi bằng str.replace
  • Sử dụng Python để dải dấu câu từ chuỗi bằng cách sử dụng vòng lặp for
  • Cách nhanh nhất để loại bỏ chuỗi trăn từ dấu câu là gì?
  • Các câu hỏi thường gặp
  • Sự kết luận
  • Tài nguyên bổ sung

Sử dụng Python để xóa dấu câu từ một chuỗi có dịch

Sử dụng Python để dải dấu câu từ một chuỗi có biểu thức thông thường (Regex)

Sử dụng Python để xóa dấu câu từ chuỗi bằng str.replace

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

Sử dụng Python để dải dấu câu từ chuỗi bằng cách sử dụng vòng lặp for

Một trong những cách dễ nhất để xóa dấu câu từ một chuỗi trong Python là sử dụng phương pháp

 ABC-799-99
2. Phương thức dịch () thường lấy một bảng dịch, mà chúng tôi sẽ sử dụng phương thức
 ABC-799-99
7.
If you want to learn how to use the translate method (and others!) to remove a character from a string in Python, check out my in-depth tutorial here.

Chuỗi Python là gì?

Python đi kèm với một thư viện tích hợp, chuỗi, bao gồm tất cả các ký tự chấm câu phổ biến bằng cách sử dụng thuộc tính

s.lstrip(punctuation)
3. Bao gồm là:!

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

s.lstrip(punctuation)
3, hãy để có một cái nhìn nhanh:

print(string.punctuation)

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

Sử dụng Python để dải dấu câu từ một chuỗi có biểu thức thông thường (Regex)

Thư viện biểu thức thông thường Python,

 ABC-799-99
4, cảm thấy như nó có thể làm bất cứ điều gì - bao gồm cả việc tước dấu câu từ một chuỗi!

Biểu thức chính quy là tuyệt vời vì nó được tích hợp tích hợp với một số lớp nhân vậ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 (tức là, bất cứ điều gì không phải là một từ hoặc khoảng trắng) bằng cách sử dụng ký tự ^. Sau đó, điều này cho phép chúng tôi chọn bất cứ thứ gì không phải là một từ hoặc khoảng trắng, trong trường hợp của chúng tôi, nó chọn dấu câu.

Hãy để xem cách chúng ta có thể sử dụng Regex để loại bỏ dấu 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 cứ thứ gì là một nhân vật chữ và 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 từ chuỗi bằng str.replace

Phương pháp

 ABC-799-99
3 giúp dễ dàng thay thế một ký tự. Ví dụ: nếu bạn muốn chỉ thay thế một ký tự dấu chấm câu, đây sẽ là một giải pháp đơn giản, đơn giản.

Hãy nói rằng bạn chỉ muốn thay thế ký tự

s.lstrip(punctuation)
7 từ chuỗi của chúng tôi, chúng tôi có thể sử dụng phương pháp
 ABC-799-99
3 để thực hiện điều này. Hãy cùng xem cách 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 đã thực hiện ở đây, là nối lại phương thức

s.lstrip(punctuation)
9 vào chuỗi của chúng tôi. Tham số đầu tiên là chuỗi để thay thế, trong trường hợp này là ký tự ____27 của chúng tôi. Tham số thứ hai là những gì để thay thế nó, trong trường hợp này là một chuỗi trố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ả các dấu câu từ một chuỗi bằng cách sử dụng vòng lặp.

Sử dụng Python để dải dấu câu từ chuỗi bằng cách sử dụ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

 ABC-799-99
3 để 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 để có thể xóa mọi ký tự dấu chấm 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 viết qua chuỗi ban đầu của chúng tôi ở đây. Chúng ta có 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ố này là nhanh nhất.

Cách nhanh nhất để loại bỏ chuỗi trăn từ dấu câu là gì?

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

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

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

Phương phápMất thời gian
str.translate ()2,35 giây
Biểu cảm thường xuyên88,8 giây
cho vòng lặp với str.replace ()20,6 giây
Tìm ra phương pháp nào là nhanh nhất để thay thế tất cả các dấu câu trong một chuỗi theo cách nhanh nhất để loại bỏ dấu câu từ một chuỗi trong Python
Hướng dẫn remove trailing punctuation python - loại bỏ python dấu chấm câu ở cuối
The fastest way to remove punctuation from a string in Python

Cách nhanh nhất để loại bỏ dấu câu từ một chuỗi trong Python là gì?

Phương pháp

 ABC-799-99
2 là cách nhanh nhất để loại bỏ dấu câu từ một 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ả mọi thứ, 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 Python là gì?

Python đi kèm với một thư viện tích hợp, chuỗi, bao gồm tất cả các ký tự chấm câu phổ biến bằng cách sử dụng thuộc tính

s.lstrip(punctuation)
3. Bao gồm là:!

Làm thế nào bạn có thể thay thế dấu câu bằng một không gian trong Python?

Cách dễ nhất để thay thế dấu câu bằng một không gian trong Python là sử dụng phương thức

 ABC-799-99
5 với thư viện
s.lstrip(punctuation)
3. Đơn giản chỉ cần viết:
 s.rstrip(punctuation)
6.

Sự kết luận

Trong bài đăng này, bạn đã học được cách tước dấu câu từ chuỗi Python. Bạn đã học cách thực hiện việc này bằng phương pháp

 ABC-799-99
2, cũng như các biểu thức thông thường. Bạn cũng đã học cách làm điều này với phương pháp
s.lstrip(punctuation)
9 cũng như với vòng lặp. Cuối cùng, bạn đã học được phương pháp nào trong số này là nhanh nhất.

Để tìm hiểu thêm về phương pháp

 ABC-799-99
2, hãy xem tài liệu chính thức ở đây.

Tài nguyên bổ sung

Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các hướng dẫn dưới đây:

  • Chuỗi Python chứa: Kiểm tra xem một chuỗi có chứa chuỗi con không
  • Cách kết hợp các chuỗi trong Python: Hướng dẫn đầy đủ
  • Python: Sắp xếp một chuỗi (4 cách khác nhau)
  • Python rfind: Tìm chỉ mục của chuỗi con cuối cùng trong chuỗi
  • Python: Tìm một chỉ mục (hoặc tất cả) của chuỗi con trong chuỗi