我想创建一个删除文本字符串中的字符的函数。 我将文本字符串和字符作为函数的参数传递。 该功能运行正常但如果我想将其作为原始字符串威胁,我不知道如何正确执行此操作。
例如:
import re
def my_function(text, ch):
Regex=re.compile(r'(ch)') # <-- Wrong, obviously this will just search for the 'ch' characters
print(Regex.sub('',r'text')) # <-- Wrong too, same problem as before.
text= 'Hello there'
ch= 'h'
my_function(text, ch)
任何帮助都将不胜感激。
答案 0 :(得分:2)
如何改变:
Regex=re.compile(r'(ch)')
print(Regex.sub('',r'text'))
为:
Regex=re.compile(r'({})'.format(ch))
print(Regex.sub('',r'{}'.format(text)))
但是,更简单的方法是使用str.replace()
作为:
text= 'Hello there'
ch= 'h'
text = text.replace(ch, '')
# value of text: 'Hello tere'
答案 1 :(得分:2)
def my_function(text, ch):
text.replace(ch, "")
这将用空字符串替换所有出现的 ch 。无需在此调用正则表达式的开销。