我想在数学表达式中替换某个变量名称,同时避免替换函数名称。Python:如何替换某些字符所包含的字符串
例如,用下面的n
:
sin(2 pi*n d)" -> "sin(2 pi*REPL d)
但不是:siREPL(2 pi*REPL d)
我的想法是,以检查是否SUBSTR是由特殊字符(' '
,'('
,'*'
等)在一侧封闭,但我没有把它放在正则表达式或Python代码中。
任何想法?
我想在数学表达式中替换某个变量名称,同时避免替换函数名称。Python:如何替换某些字符所包含的字符串
例如,用下面的n
:
sin(2 pi*n d)" -> "sin(2 pi*REPL d)
但不是:siREPL(2 pi*REPL d)
我的想法是,以检查是否SUBSTR是由特殊字符(' '
,'('
,'*'
等)在一侧封闭,但我没有把它放在正则表达式或Python代码中。
任何想法?
使用单词边界(\b
)
>>> import re
>>> re.sub(r'\bn\b', 'REPL', 'sin(2 pi*n d)')
'sin(2 pi*REPL d)'
\b
匹配空字符串,但只在一个单词的开头或结尾。 单词被定义为一个字母数字或下划线字符序列,因此单词的末尾用空格或 非字母数字,非下划线字符表示。需要注意的是正式,\ b为W,或之间\ A \ W和\ W字符(或副 反之亦然)之间定义为边界 和字符串的开始/结束,...
太好了,谢谢! – user3370429
尝试字界\ b –