在Python中将数学表达式字符串拆分为令牌
我有很多Python字符串如"A7*4"
,"Z3+8"
,"B6 / 11"
,和我想要拆分这些字符串,这样他们将在一个列表,格式["A7",
"*", "4"]
,["B6", "/",
"11"]
等我已经使用了很多不同的方法分割,但我想我需要只需在有数学符号(例如)的地方执行拆分/,*,+,-
。我还需要去除空白。
目前,我正在使用re.split(r'(\D)', "B6 / 11")
返回的代码['', 'B', '6', ' ', '', '/', '', '
', '11']
。相反,我想回来["B6", "/", "11"]
。
-
从字符串中删除空格后,应拆分字符集
[+-/*]
:>>> import re >>> def mysplit(mystr): ... return re.split("([+-/*])", mystr.replace(" ", "")) ... >>> mysplit("A7*4") ['A7', '*', '4'] >>> mysplit("Z3+8") ['Z3', '+', '8'] >>> mysplit("B6 / 11") ['B6', '/', '11'] >>>