如何对 python 字符串中的数字执行数学运算

How to perform math operation on numbers in string of python

我们如何对 python 中的字符串执行数学运算。

考虑下面的例子

with open('/home/akashk/projects/math.txt') as f:
    content = f.readlines()
content = [x.strip() for x in content] 

for x in content:
    print(x)
    print(type(x))

输出类似于

1abc0+5*1hv0

我想使用操作数和运算符进行运算

以上应该算作10+5*10 = 60 简而言之,删除字符并对操作数进行数学运算。

eval('10+5*10') 给出 60 但它不会处理字符。

简单:

eval('10/2%2-1')

结果为0。

这可能会有所帮助。使用 isalpha 方法删除所有字母字符并使用 eval

例如:

s = "1abc0+5*1hv0"
s = "".join([i for i in s if not i.isalpha()])
print eval(s)

输出:

60