Hướng dẫn swap punctuation python - hoán đổi dấu chấm câu python

Tất cả những câu trả lời này dường như làm phức tạp mọi thứ hoặc không hiểu rõ regex. Tôi khuyên bạn nên sử dụng các chuỗi đặc biệt để bắt bất kỳ và tất cả các dấu câu bạn đang cố gắng thay thế bằng không gian.

Nội phân chính

  • Phương pháp 1: Xóa dấu câu từ chuỗi có dịch
  • Phương pháp 2: Xóa dấu câu từ một chuỗi với vòng lặp Python
  • Phương pháp 3: Xóa dấu câu từ một chuỗi với Regex & NBSP;
  • Phương pháp 4: & nbsp; Sử dụng cho vòng lặp, chuỗi dấu chấm câu và không trong toán tử
  • Làm thế nào để tôi thoát khỏi dấu câu trong Python?
  • Làm thế nào để tôi thoát khỏi dấu câu trong gấu trúc?
  • Làm thế nào để bạn xóa dấu câu từ Python bằng NLTK?
  • Có dấu chấm câu có bao gồm không gian không?

Câu trả lời của tôi là đơn giản hóa các chuỗi đặc biệt Python Regex tận dụng của Jonathan thay vì một danh sách thủ công các dấu câu và không gian để bắt.special sequences rather than a manual list of punctuation and spaces to catch.

import re

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub[r'''      # Start raw string block
               \W+       # Accept one or more non-word characters
               \s*       # plus zero or more whitespace characters,
               ''',      # Close string block
               ' ',      # and replace it with a single space
               tweet,
               flags=re.VERBOSE]
print[tweet + '\n' + clean]

Results:

I am tired! I like fruit...and milk
I am tired I like fruit and milk

Phiên bản nhỏ gọn:

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]

Điều gì ngăn cách phiên bản của tôi với Jonathan là các biểu tượng như dấu gạch nối, tildes, dấu ngoặc, dấu ngoặc, vv đều bị bắt và loại bỏ, không chỉ là danh sách các dấu câu đã cho, bắt bất kỳ khoảng trắng không gian nào, như tab, newline, v.v. không gian đơn.

Phiên bản của Jonathan là tốt nếu bạn muốn xóa một danh sách dấu câu cụ thể nhưng không phải tất cả các dấu câu, giống như giải pháp của tôi.

Nếu bạn không muốn thậm chí cho phép nhấn mạnh trong văn bản của mình, bạn có thể thay thế chuỗi đặc biệt \W chỉ bằng một [^a-zA-Z0-9] đơn giản, tức là.

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['[^a-zA-Z0-9]+\s*', ' ', tweet]
print[tweet + '\n' + clean]

Giải thích trình tự đặc biệt, từ tài liệu của Python về Regex:

"Các chuỗi đặc biệt bao gồm

I am tired! I like fruit...and milk
I am tired I like fruit and milk
0 và một ký tự từ danh sách dưới đây."

\W: Phù hợp với bất kỳ ký tự nào không phải là ký tự từ. .

I am tired! I like fruit...and milk
I am tired I like fruit and milk
3: Đối với các mẫu unicode [str]: khớp các ký tự khoảng trắng unicode [bao gồm
I am tired! I like fruit...and milk
I am tired I like fruit and milk
4, và cũng có nhiều ký tự khác, ví dụ như các không gian không phá vỡ được ủy quyền bởi các quy tắc kiểu chữ bằng nhiều ngôn ngữ].

Nhiều lần khi làm việc với các chuỗi Python, chúng tôi có một vấn đề trong đó chúng tôi cần loại bỏ một số ký tự nhất định khỏi chuỗi. Điều này có thể có các ứng dụng trong tiền xử lý dữ liệu trong lĩnh vực khoa học dữ liệu và cả trong lập trình hàng ngày. Hãy để thảo luận về những cách nhất định mà chúng ta có thể thực hiện nhiệm vụ này bằng Python.

Phương pháp 1: Xóa dấu câu từ chuỗi có dịch

Hai đối số đầu tiên cho phương thức String.Translate là các chuỗi trống và đầu vào thứ ba là danh sách python của dấu câu cần được xóa. Điều này hướng dẫn phương pháp Python để loại bỏ dấu câu từ một chuỗi. Đây là một trong những cách tốt nhất để dải dấu câu từ một chuỗi.best ways to strip punctuation from a string.

Python3

I am tired! I like fruit...and milk
I am tired I like fruit and milk
5
I am tired! I like fruit...and milk
I am tired I like fruit and milk
6

I am tired! I like fruit...and milk
I am tired I like fruit and milk
7
I am tired! I like fruit...and milk
I am tired I like fruit and milk
8
I am tired! I like fruit...and milk
I am tired I like fruit and milk
9

I am tired! I like fruit...and milk
I am tired I like fruit and milk
7
I am tired! I like fruit...and milk
I am tired I like fruit and milk
8
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
2

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
3
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
4
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
5
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
6
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
7
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
8

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['\W+\s*', ' ', tweet]
print[tweet + '\n' + clean]
9
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['[^a-zA-Z0-9]+\s*', ' ', tweet]
print[tweet + '\n' + clean]
0

Output:

Gfg is best for  Geeks 

Phương pháp 2: Xóa dấu câu từ một chuỗi với vòng lặp Python

Phương pháp 3: Xóa dấu câu từ một chuỗi với Regex & NBSP;

Python3

Phương pháp 4: & nbsp; Sử dụng cho vòng lặp, chuỗi dấu chấm câu và không trong toán tử

Làm thế nào để tôi thoát khỏi dấu câu trong Python?

Làm thế nào để tôi thoát khỏi dấu câu trong gấu trúc?

Làm thế nào để bạn xóa dấu câu từ Python bằng NLTK?

Có dấu chấm câu có bao gồm không gian không?

Câu trả lời của tôi là đơn giản hóa các chuỗi đặc biệt Python Regex tận dụng của Jonathan thay vì một danh sách thủ công các dấu câu và không gian để bắt.

Phiên bản nhỏ gọn:

Output: 

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 

Phương pháp 3: Xóa dấu câu từ một chuỗi với Regex & NBSP;

Phương pháp 4: & nbsp; Sử dụng cho vòng lặp, chuỗi dấu chấm câu và không trong toán tử

Python3

Làm thế nào để tôi thoát khỏi dấu câu trong Python?

Phương pháp 4: & nbsp; Sử dụng cho vòng lặp, chuỗi dấu chấm câu và không trong toán tử

Làm thế nào để tôi thoát khỏi dấu câu trong Python?

Làm thế nào để tôi thoát khỏi dấu câu trong gấu trúc?

Làm thế nào để bạn xóa dấu câu từ Python bằng NLTK?

Có dấu chấm câu có bao gồm không gian không?

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 

Phương pháp 4: & nbsp; Sử dụng cho vòng lặp, chuỗi dấu chấm câu và không trong toán tử

Python3

Phương pháp 4: & nbsp; Sử dụng cho vòng lặp, chuỗi dấu chấm câu và không trong toán tử

Làm thế nào để tôi thoát khỏi dấu câu trong Python?

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['[^a-zA-Z0-9]+\s*', ' ', tweet]
print[tweet + '\n' + clean]
9
I am tired! I like fruit...and milk
I am tired I like fruit and milk
8

\W9

I am tired! I like fruit...and milk
I am tired I like fruit and milk
8[^a-zA-Z0-9]1

Làm thế nào để bạn xóa dấu câu từ Python bằng NLTK?

Có dấu chấm câu có bao gồm không gian không?

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
0\W9
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub['[^a-zA-Z0-9]+\s*', ' ', tweet]
print[tweet + '\n' + clean]
7
I am tired! I like fruit...and milk
I am tired I like fruit and milk
8
I am tired! I like fruit...and milk
I am tired I like fruit and milk
06

Làm thế nào để bạn xóa dấu câu từ Python bằng NLTK?

Có dấu chấm câu có bao gồm không gian không?

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter :  Gfg is best  for  Geeks 

Câu trả lời của tôi là đơn giản hóa các chuỗi đặc biệt Python Regex tận dụng của Jonathan thay vì một danh sách thủ công các dấu câu và không gian để bắt.

Phiên bản nhỏ gọn:O[n]

Điều gì ngăn cách phiên bản của tôi với Jonathan là các biểu tượng như dấu gạch nối, tildes, dấu ngoặc, dấu ngoặc, vv đều bị bắt và loại bỏ, không chỉ là danh sách các dấu câu đã cho, bắt bất kỳ khoảng trắng không gian nào, như tab, newline, v.v. không gian đơn.O[n]


Làm thế nào để tôi thoát khỏi dấu câu trong Python?

Làm thế nào để tôi thoát khỏi dấu câu trong gấu trúc?

Làm thế nào để tôi thoát khỏi dấu câu trong gấu trúc?

Để loại bỏ dấu chấm câu bằng Python Pandas, chúng ta có thể sử dụng phương thức STR.Replace của DataFrame.Chúng tôi gọi thay thế bằng một chuỗi regex phù hợp với tất cả các ký tự dấu chấm câu và thay thế chúng bằng các chuỗi trống.Thay thế trả về một cột DataFrame mới và chúng tôi gán nó cho DF ['Text'].use the DataFrame's str. replace method. We call replace with a regex string that matches all punctuation characters and replace them with empty strings. replace returns a new DataFrame column and we assign that to df['text'] .

Làm thế nào để bạn xóa dấu câu từ Python bằng NLTK?

Sử dụng NLTK ...

câu = "suy nghĩ và tự hỏi, tự hỏi và suy nghĩ.".

tokenizer = nltk.Regexptokenizer [r "\ w+"].

new_words = tokenizer.tokenize [câu].

print[new_words].

Có dấu chấm câu có bao gồm không gian không?

Lưu ý chuỗi.Giá trị dấu câu không bao gồm các ký hiệu Unicode hoặc ký tự khoảng trắng.Loại bỏ dấu câu.punctuation values do not include Unicode symbols or whitespace characters. Remove punctuation.

Bài Viết Liên Quan

Chủ Đề