我有一个字符串Incorrect syntax near ')'.
,可以将其转换为字符串'1plus2minus3'
。
是否有一种方法可以通过将此'1+2-3'
转换为str()
来计算结果?
答案 0 :(得分:3)
eval()
已经有答案,但这是另一个使用re
模块的答案,它更安全:
s = '1+2-3'
import re
result = sum(map(int, re.findall(r'[+-]?\d+', s)))
print(result)
打印:
0
答案 1 :(得分:1)
您可以执行以下步骤:
plus
替换为+
,将字符串minus
替换为-
。eval()
。 eval('1+2-3')
将产生0
。答案 2 :(得分:0)
快速解决方案是
eval('1+2-3') == 0