如何将函数的参数放在原始字符串中

时间:2016-10-06 22:20:32

标签: python regex string variables

我想创建一个删除文本字符串中的字符的函数。 我将文本字符串和字符作为函数的参数传递。 该功能运行正常但如果我想将其作为原始字符串威胁,我不知道如何正确执行此操作。

例如:

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)

任何帮助都将不胜感激。

2 个答案:

答案 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 。无需在此调用正则表达式的开销。