我需要拆分一个字符串:
例子:
str = 'mink.microctr.fit.edu - - [21/Jun/2000:20:21:36 -0400] "GET / HTTP/1.1" 200 1786'
从上面的字符串中我需要提取"21/Jun/2000"
.
使用:
str.rstrip().split()[3]
输出是"[21/Jun/2000"
。
关于如何解决这个问题的任何帮助?
我会使用正则表达式:
>>> import re
>>> r = 'mink.microctr.fit.edu - - [21/Jun/2000:20:21:36 -0400] "GET / HTTP/1.1" 200 1786'
>>> print re.search(r'\[(.*?):', r).group(1)
21/Jun/2000
也不要命名字符串str
,它会覆盖内置类型
您可以添加[1:]
:
str.rstrip().split()[3][1:]
str.split()[3][1:].split(':')[0]
你必须使用拆分还是你也可以得到一个子字符串?如果格式总是这样,那么试试这个:
str.strip().split()[3][1:]
让我们分解一下:str.strip()
去掉所有的空白。然后你split()
在任何空白处使用 which splits。这就是你到目前为止所拥有的。现在,str[1:]
说“将子字符串从字符串中的第二个字符开始直到字符串的结尾。