View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
In Python3, string.punctuation
is a pre-initialized string used as string constant. In Python, string.punctuation
will give the all sets of
punctuation.
Syntax : string.punctuation
Parameters : Doesn’t take any parameter, since it’s not a function.
Returns : Return all sets of punctuation.
Note : Make sure to import string library function inorder to use string.punctuation
Code #1 :
import
string
result
=
string.punctuation
print
[result]
Output :
!"#$%&'[]*+, -./:;?@[\]^_`{|}~
Code #2 : Given code tests for punctuation.
import
string
Sentence
=
"Hey, Geeks !, How are you?"
for
i
in
Sentence:
if
i
in
string.punctuation:
print
[
"Punctuation: "
+
i]
Output:
Punctuation:, Punctuation: ! Punctuation:, Punctuation: ?
Many times while working with Python strings, we have a problem in which we need to remove certain characters from strings. This can have applications in data preprocessing in the Data Science domain and also in day-day programming. Let’s discuss certain ways in which we can perform this task using Python.
Method 1: Remove Punctuation from a String with Translate
The first two arguments for string.translate method is empty strings, and the third input is a Python list of the punctuation that should be removed. This instructs the Python method to eliminate punctuation from a string. This is one of the best ways to strip punctuation from a string.
Python3
import
string
test_str
=
'Gfg, is best: for ! Geeks ;'
test_str
=
test_str.translate
[
str
.maketrans['
', '
', string.punctuation]]
print
[test_str]
Output:
Gfg is best for Geeks
Method 2: Remove Punctuation from a String with Python loop
This is the brute way in which this task can be performed. In this, we check for the punctuations using a raw string that contain punctuations and then we construct a string removing those punctuations.
Python3
test_str
=
"Gfg, is best : for ! Geeks ;"
print
[
"The original string is : "
+
test_str]
punc
=
for
ele
in
test_str:
if
ele
in
punc:
test_str
=
test_str.replace[ele, ""]
print
[
"The string after punctuation filter : "
+
test_str]
Output:
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks
Method 3: Remove Punctuation from a String with regex
The part of replacing with punctuation can also be performed using regex. In this, we replace all punctuation with an empty string using a certain regex.
Python3
import
re
test_str
=
"Gfg, is best : for ! Geeks ;"
print
[
"The original string is : "
+
test_str]
res
=
re.sub[r
'[^\w\s]'
, '', test_str]
print
[
"The string after punctuation filter : "
+
res]
Output :
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks
Method 4: Using for loop, punctuation string and not in operator
Python3
test_str
=
"Gfg, is best : for ! Geeks ;"
print
[
"The original string is : "
+
test_str]
punc
=
res
=
" "
for
ele
in
test_str:
if
ele
not
in
punc:
res
+
=
ele
print
[
"The string after punctuation filter : "
+
res]
Output
The original string is : Gfg, is best : for ! Geeks ; The string after punctuation filter : Gfg is best for Geeks
The Time and Space Complexity for all the methods are the same:
Time Complexity: O[n]
Auxiliary Space: O[n]