需要根据空格和()拆分字符串。例如:
输入字符串:if condition or (condition-1 or condition-2) then print"
输出应拆分为:'if', 'condition', 'or', '(condition-1 or condition-2)', 'then', 'print'.
当我完成str.split()时,甚至()中的值也会根据空格进行拆分。
发布于 2018-03-27 13:32:57
瞧
s = "if condition or (condition-1 or condition-2) then print and (this)"
my_list = list()
while (("(") in s):
my_list.append(s[s.find('(') : (s.find(')')+1)])
s = (s[ : (s.find('('))]) + (s[s.find(')')+1 : ])
my_list= my_list + (s.split(' '))
print(my_list)发布于 2018-03-27 12:40:30
也许你可以在中间检查一下偏执和什么,然后把这个部分复制到另一个变量中,然后从原始变量中删除它。然后拆分第一个变量并将两个变量相加在一起。要做到这一点,我将使用re模块。python文档化和用python自动完成无聊的工作.
我就是这样做的:
import re
statement = input(":")
bracketsearcher = re.compile(r'\(\w+\s\w+\)')
bracketplaces = bracketsearcher.findall(statement)
rest = bracketsearcher.sub('',statement)
print (bracketplaces)
rest = rest.split(" ")
print (rest)https://stackoverflow.com/questions/49513036
复制相似问题