Python - Replace punctuations with K

In this article, we will learn how to replace punctuation marks with the letter "K" in Python strings. This is a common task in text processing and data cleaning operations where you need to replace punctuations with specific characters.

Let's start with an example string ?

original_string = "Welcome, to, * the website ! aliens"
print("Original string:", original_string)
Original string: Welcome, to, * the website ! aliens

Our goal is to replace punctuation marks like ,, *, and ! with the letter "K", resulting in: "WelcomeK toK K the website K aliens".

Using String replace() Method

The simplest approach is to chain multiple replace() calls for each punctuation mark ?

text = "Welcome, to, * the website ! aliens"
print("Original string:", text)

modified_str = text.replace(",", "K").replace(".", "K").replace("!", "K").replace("*", "K")
print("After replacement:", modified_str)
Original string: Welcome, to, * the website ! aliens
After replacement: WelcomeK toK K the website K aliens

Using Regular Expressions

Regular expressions provide a more flexible approach to match any punctuation character ?

import re

text = "Welcome, to, * the website ! aliens"
print("Original string:", text)

# Replace any non-alphanumeric, non-space character with "K"
modified_str = re.sub(r"[^\w\s]", "K", text)
print("After replacement:", modified_str)
Original string: Welcome, to, * the website ! aliens
After replacement: WelcomeK toK K the website K aliens

Using List Comprehension with string.punctuation

This method uses Python's built-in string.punctuation constant to identify all punctuation marks ?

import string

text = "Welcome, to, * the website ! aliens"
print("Original string:", text)

# Check each character and replace if it's punctuation
modified_str = ''.join(["K" if char in string.punctuation else char for char in text])
print("After replacement:", modified_str)
Original string: Welcome, to, * the website ! aliens
After replacement: WelcomeK toK K the website K aliens

Using Regular Expressions with Specific Characters

You can specify exactly which punctuation marks to replace using character classes ?

import re

text = "Welcome, to, * the website ! aliens"
print("Original string:", text)

# Replace only specific punctuation marks
modified_str = re.sub(r"[.,!*]", "K", text)
print("After replacement:", modified_str)
Original string: Welcome, to, * the website ! aliens
After replacement: WelcomeK toK K the website K aliens

Using List Comprehension with Custom Punctuation List

Define your own list of punctuation marks to replace ?

text = "Welcome, to, * the website ! aliens"
print("Original string:", text)

# Define custom punctuation list
punctuation_marks = [",", ".", "!", "*"]
modified_str = ''.join(["K" if char in punctuation_marks else char for char in text])
print("After replacement:", modified_str)
Original string: Welcome, to, * the website ! aliens
After replacement: WelcomeK toK K the website K aliens

Comparison

Method Flexibility Performance Best For
replace() Low Fast Few specific characters
Regular Expressions High Moderate Complex patterns
List Comprehension High Good Readable, flexible logic

Conclusion

Choose replace() for simple, specific punctuation replacement. Use regular expressions for complex pattern matching, and list comprehension for readable, flexible solutions. The string.punctuation approach covers all standard punctuation marks automatically.

Updated on: 2026-03-27T14:39:49+05:30

193 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements