【发布时间】:2014-12-04 21:00:28
【问题描述】:
我刚开始使用 Python,我试图用双引号和方括号分割一个字符串。
例子:
10.223.157.186 - - [15/Jul/2009:14:58:59 -0700] "GET /assets/js/lowpro.js HTTP/1.1" 200 10469
想要的结果:
ip: 10.223.157.186
identity: -
username: -
time: [15/Jul/2009:15:50:35 -0700]
request: "GET /assets/js/lowpro.js HTTP/1.1"
status: 200
size: 10469
我想在“空间”分割它们,但它也会分割[] 和"" 之间的部分。像这样:
['10.223.157.186', '-', '-', '[15/Jul/2009:14:58:59', '-0700]', '"GET', '/assets/js/lowpro.js', 'HTTP/1.1"', '200', '10469']
我见过很多可能的解决方案,例如:
-
shlex(我的python没有导入) data = line.strip().split('\"')
但这也会产生奇怪的输出 老实说,我不太了解正则表达式,也不知道是否可以导入为 shlex。
【问题讨论】:
-
如果您没有
shlex,是否介意告诉我们您正在运行的 Python 版本(应该是 Python 在交互式提示符下输出的第一件事)? -
这可能是学习一点正则表达式的好机会...
-
我刚刚意识到您的问题说您要处理引号,但您的示例实际上并没有这样做。
标签: python string-split