以下是一个示例代码,展示了如何按算术运算符拆分字符串:
import re
def split_string(expression):
# 利用正则表达式,匹配算术运算符和数字,并将其拆分
pattern = r'(\+|\-|\*|\/|\(|\)|\d+)'
tokens = re.findall(pattern, expression)
# 去除空格
tokens = [token.strip() for token in tokens if token.strip()]
return tokens
expression = "3 + 4 * (2 - 1)"
result = split_string(expression)
print(result)
输出结果为:['3', '+', '4', '*', '(', '2', '-', '1', ')']
该方法使用了正则表达式模块re,通过定义一个匹配算术运算符和数字的模式,利用re.findall()函数找到所有满足模式的字符串片段。然后通过去除空格,将这些片段作为拆分后的结果返回。