Hướng dẫn replace full stop with space python - thay thế hoàn toàn dừng bằng trăn không gian

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.

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ữ).

Không gian phụ trợ: O (n)

Làm thế nào để bạn loại bỏ dấu chấm câu trong Python?

Một trong những phương pháp dễ nhất và nhanh nhất mà qua đó các dấu chấm câu và ký tự đặc biệt có thể được xóa khỏi chuỗi là bằng cách sử dụng phương thức dịch (). Hàm dịch tích hợp () có sẵn trong thư viện chuỗi của Python.best ways to strip punctuation from a string.

Python3

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 để loại bỏ dấu câu từ gấu trúc.

và str.translate ().

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 

Làm thế nào để bạn loại bỏ dấu câu với NLTK?Python loop

Quy trình làm việc được NLTK giả định là trước tiên bạn chuyển thành các câu và sau đó mỗi câu thành từ. Đó là lý do tại sao word_tokenize () không hoạt động với nhiều câu. Để loại bỏ dấu câu, bạn có thể sử dụng biểu thức thông thường hoặc hàm isalnum () của Python.

Python3

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('[^a-zA-Z0-9]+\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)
9
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('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
6
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
7
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
8

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

Gfg is best for  Geeks 
1
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
4

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('\W+\s*', ' ', tweet)
print(tweet + '\n' + clean)
3
Gfg is best for  Geeks 
6
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
9

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
0
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
The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
3

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('\W+\s*', ' ', tweet)
print(tweet + '\n' + clean)
4
The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
6
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
7
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
8

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ần của việc thay thế bằng dấu câu cũng có thể được thực hiện bằng Regex. Trong đó, chúng tôi thay thế tất cả các dấu câu bằng một chuỗi trống bằng cách sử dụng một regex nhất định.

Python3

I am tired! I like fruit...and milk
I am tired I like fruit and milk
5
The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
0

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('[^a-zA-Z0-9]+\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)
9
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('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
6
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
7
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
8

Gfg is best for  Geeks 
1
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
4

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('\W+\s*', ' ', tweet)
print(tweet + '\n' + clean)
3
Gfg is best for  Geeks 
6
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
9

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
0
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
The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
3

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

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

Python3

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('[^a-zA-Z0-9]+\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)
9
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('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
6
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
7
tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('[^a-zA-Z0-9]+\s*', ' ', tweet)
print(tweet + '\n' + clean)
8

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

Gfg is best for  Geeks 
1
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
4

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('\W+\s*', ' ', tweet)
print(tweet + '\n' + clean)
3
Gfg is best for  Geeks 
6
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
9

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

tweet = 'I am tired! I like fruit...and milk'
clean = re.sub('\W+\s*', ' ', tweet)
print(tweet + '\n' + clean)
3
Gfg is best for  Geeks 
6
Gfg is best for  Geeks 
2
Gfg is best for  Geeks 
3
Gfg is best for  Geeks 
9

The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
0
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
The original string is : Gfg, is best : for ! Geeks ;
The string after punctuation filter : Gfg is best  for  Geeks 
3

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

Độ phức tạp về thời gian và không gian cho tất cả các phương pháp là như nhau:

Độ phức tạp về thời gian: O (n)O(n)

Không gian phụ trợ: O (n)O(n)


Làm thế nào để bạn loại bỏ dấu chấm câu trong Python?

Một trong những phương pháp dễ nhất và nhanh nhất mà qua đó các dấu chấm câu và các ký tự đặc biệt có thể được xóa khỏi chuỗi là bằng cách sử dụng phương thức dịch ().Hàm dịch tích hợp () có sẵn trong thư viện chuỗi của Python.using the translate () method. The built-in translate () function is available in the string library of 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 để loại bỏ dấu câu từ gấu trúc..
str.replace().
regex.sub().
và str.translate ().

Làm thế nào để bạn loại bỏ dấu câu với NLTK?

Quy trình làm việc được NLTK giả định là trước tiên bạn chuyển thành các câu và sau đó mỗi câu thành từ.Đó là lý do tại sao word_tokenize () không hoạt động với nhiều câu.Để loại bỏ dấu câu, bạn có thể sử dụng biểu thức thông thường hoặc hàm isalnum () của Python.use a regular expression or python's isalnum() function.

Làm cách nào để xóa tất cả các dấu câu từ một danh sách trong Python?

Cách nhanh nhất và hiệu quả nhất để loại bỏ các dấu chấm câu từ danh sách các chuỗi trong Python là hàm str.translate ().str. translate() function.