一尘不染

在Python中将数学表达式字符串拆分为令牌

python

我有很多Python字符串如"A7*4""Z3+8""B6 / 11",和我想要拆分这些字符串,这样他们将在一个列表,格式["A7", "*", "4"]["B6", "/", "11"]等我已经使用了很多不同的方法分割,但我想我需要只需在有数学符号(例如)的地方执行拆分/,*,+,-。我还需要去除空白。

目前,我正在使用re.split(r'(\D)', "B6 / 11")返回的代码['', 'B', '6', ' ', '', '/', '', ' ', '11']。相反,我想回来["B6", "/", "11"]


阅读 266

收藏
2021-01-20

共1个答案

一尘不染

从字符串中删除空格后,应拆分字符集 [+-/*]

>>> 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']
>>>
2021-01-20