从python中的表达式替换整个单词忽略算术运算符

时间:2018-07-30 10:28:26

标签: python str-replace

我有一个像"(addtwo*decimal*p_cost)/(cost+density)"这样的字符串表达式。
我只想替换成本,但要替换p_cost以及- p_"replaced value"。我已经尝试过字边界,但是没有运气请帮忙。

expr = '(addtwo*decimal*p_cost)/(cost+density)'

expr = string.replace(expr, r"\b%s\b" % str(' cost '), str(3)) not doing anything.

2 个答案:

答案 0 :(得分:0)

使用正则表达式。

import re
expr = '(addtwo*decimal*p_cost)/(cost+density)'
print(re.sub(r"\bcost\b", "3", expr))

输出:

(addtwo*decimal*p_cost)/(3+density)

答案 1 :(得分:0)

import re

expr = r'(addtwo*decimal*p_cost)/(cost+density)'

expr2 = re.sub("(?<![_])cost(?![_])","COST", expr)
print(expr2)

在正则表达式中的搜索词(在这种情况下为(?<![_]))的((?![_]))的(cost)的(db.getCollection('Employee').find({email:/^prateeknar@gm/}) )之前和之后(HasManyThrough)的方括号中插入所有禁止替换搜索词的字符模式字符串。