分裂字符串混乱

时间:2013-10-06 23:05:36

标签: python string split

我需要分割一个字符串:

示例:

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"

有关如何解决此问题的任何帮助?

5 个答案:

答案 0 :(得分:2)

我会使用正则表达式:

>>> 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 :(得分:0)

您只需添加[1:]

即可
str.rstrip().split()[3][1:]

答案 2 :(得分:0)

str.split()[3][1:].split(':')[0]

答案 3 :(得分:0)

您是否必须使用拆分或者您是否也可以获得子串?如果格式总是这样,那么试试这个:

str.strip().split()[3][1:]

让我们打破这个:str.strip()剥离所有的空白。然后使用split()分割任何空格。这就是你到目前为止所拥有的。现在,str[1:]说“从字符串中的第二个字符开始,直到字符串结尾。

答案 4 :(得分:0)

使用像这样的正则表达式:

(\d{2}/[A-Za-z]{3}/\d{4})

如果你从未这样做过,请阅读关于使用regex with python的内容。