How To Remove Punctuation From A String In Python

Working with text data in Python often calls for cleaning and preprocessing steps that allow you to extract relevant information from your dataset.

Removing punctuation is one such common preprocessing step that can be used prior to techniques such as tokenization, text analysis, or machine learning applications. In this tutorial, we will discuss how to remove punctuation from a string in Python.

Step One – Import the Necessary Libraries

You will need to import the string library in Python. This library contains several string constants which can be used to manipulate and play around with strings.

The string.punctuation in Python contains the following punctuation symbols.


Step Two – Create String and Remove Punctuation

Let’s assume we have the sentence: “Hello, World! I am learning Python.”.

We will define our string and then use the translate method to remove the punctuation. The translate method requires a translation table. We can create this using the maketrans method. The maketrans() function is a static function that returns a translation table usable for str.translate().

Running this script, we get an output with no punctuation:

Hello World I am learning Python

Step Three – Define Function to Remove Punctuation

We can also define a function that can be called whenever needed to remove punctuation.

The Full Code


In this tutorial, we learned how to remove punctuation from a string in Python. This is typically a vital preprocessing step in text analysis and natural language processing. Understanding how to manipulate strings is a crucial skill in being able to clean and preprocess text data. We hope this guide has helped you understand how to remove punctuation from a string in Python.