【发布时间】:2019-06-22 19:21:50
【问题描述】:
我正在尝试创建可以将数学方程式分成不同部分(数字和运算符)的字符串解析器。现在,我正在尝试创建一个列表来分隔不同的部分。
例如:[“123”、“+”、“123”]
但是,我正在尝试以一种不需要我在输入中写空格的方式来做到这一点。我不想输入:“123 + 123”,而是写:“123+123”。如何在加号和数字之间拆分字符串并将其附加到列表中?
我知道如果我在“123+123”之间添加一个空格,我就可以拆分它,但我的目标是能够在没有空格的情况下拆分它;只是一大块文字。
到目前为止,我已经尝试将它与加法符号分开,但这只是将其删除,留下 ["123", "123"]
equation = input("Equation: ")
>> Equation: 123+123
mylist = []
l.append(equation)
for x in mylist:
print(x.split("+"))
>> ["123", "123"]
【问题讨论】:
-
欢迎来到 SO!你的表达有多复杂?是否允许减法、乘法和除法?小数点?前导零?请列举您希望遇到的所有规则。如果表达式涉及嵌套,请使用this,否则,
re.findall(r"\d+|\D", s)应该可以帮助您入门。
标签: python list split equation