替换python中表达式中的整词忽略算术运算

2024-09-27 07:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似于"(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.

Tags: 字符串stringvalue表达式density成本decimalcost
2条回答

使用正则表达式。你知道吗

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

输出:

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

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

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

在regex模式字符串中的搜索词((?<![_]))之前和之后((?![_]))的方括号中插入禁止替换搜索词的所有字符。你知道吗

相关问题 更多 >

    热门问题