我需要解析像
这样的聊天机器人字符串myproject appliances lasthour
到
("myproject", "appliances", "lasthour")
或
myproject appliances "2017-4-13 10:00" "2017-4-13 12:00"
到
("myproject", "appliances", "2017-4-13 10:00", "2017-4-13 12:00")
问题是引用字符串中的空格。我可以手工完成它,但它是一个更简单,更易维护的1行解决方案,用引号字符串中的空格解析命令行args?
答案 0 :(得分:5)
shlex
module提供shell样式的词法分析:
import shlex
yourstring = '''myproject appliances "2017-4-13 10:00" "2017-4-13 12:00"'''
print repr(shlex.split(yourstring))
正确发出:
['myproject', 'appliances', '2017-4-13 10:00', '2017-4-13 12:00']