我正在尝试使用以下Python函数将pi
替换为math.pi
。
def cleanup(x):
return x.replace("pi", "math.pi")
我有以下字符串:
a = "2*pi"
b = "the pink elephant"
cleanup(a)
的输出为:2*math.pi
- 效果很好!
cleanup(b)
的输出为the math.pink elephant
- 问题:我不希望“文本”发生变化。
有人可以帮助我吗?
答案 0 :(得分:3)
您正在寻找正则表达式,尤其是“字边界”(\b
)断言:
import re
print re.sub(r'\bpi\b', 'math.pi', "2*pi")
print re.sub(r'\bpi\b', 'math.pi', "the pink elephant")
答案 1 :(得分:0)
听起来你需要一个更复杂的过滤器,你应该看看正则表达式,它有一个内置于Python的模块