Python|用 K 替换标点符号
有时,在使用Python字符串时,我们会遇到需要用特定字符替换字符串中的标点符号的问题。这可以应用于许多领域,例如日间编程。让我们讨论可以执行此任务的某些方式。
方法 #1:使用string.punctuation + replace()
上述功能的组合可以用来解决这个问题。在此,我们使用标点符号提取所有标点符号,并使用 replace() 执行所需的字符替换。
# Python3 code to demonstrate working of
# Replace punctuations with K
# Using string.punctuation + replace()
from string import punctuation
# initializing string
test_str = 'geeksforgeeks, is : best for ; geeks !!'
# printing original string
print("The original string is : " + str(test_str))
# initializing replace character
repl_char = '*'
# Replace punctuations with K
# Using string.punctuation + replace()
for chr in punctuation:
test_str = test_str.replace(chr, repl_char)
# printing result
print("The strings after replacement : " + test_str)
输出 :
The original string is : geeksforgeeks, is : best for ; geeks!!
The strings after replacement : geeksforgeeks* is * best for * geeks**
方法#2:使用正则表达式
这个问题可以使用正则表达式来解决。在此,我们使用正则表达式来替换所有标点符号。
# Python3 code to demonstrate working of
# Replace punctuations with K
# Using regex
import re
# initializing string
test_str = 'geeksforgeeks, is : best for ; geeks !!'
# printing original string
print("The original string is : " + str(test_str))
# initializing replace character
repl_char = '*'
# Replace punctuations with K
# Using regex
res = re.sub(r'[^\w\s]', repl_char, test_str)
# printing result
print("The strings after replacement : " + res)
输出 :
The original string is : geeksforgeeks, is : best for ; geeks!!
The strings after replacement : geeksforgeeks* is * best for * geeks**