如何拆分这样的字符串?

时间:2017-03-14 17:06:47

标签: python string split

我想分割一个这样的字符串:

“[41.298669629999999,-81.915329330000006] 6 2011-08-28 19:02:36工作需要飞过...我很高兴看到间谍小孩4然后热爱我的生活”

这样的事情:

[41.298669629999999,-81.915329330000006] [6 2011-08-28 19:02:36] [工作需要飞过...我很高兴看到间谍小孩4当时热爱我的生活]

有谁知道怎么做?感谢。

1 个答案:

答案 0 :(得分:1)

import re
r = re.compile("(\[.*\]) ([^A-Za-z]*) (.*)")
s = "[41.298669629999999, -81.915329330000006] 6 2011-08-28 19:02:36 Work needs to fly by ... I'm so excited to see Spy Kids 4 with then love of my life"
m = r.match(s)
if m:
    print(m.group(1) + " [" + m.group(2) + "] [" + m.group(3) + "]")

结果

[41.298669629999999,-81.915329330000006] [6 2011-08-28 19:02:36] [工作需要飞过...我很高兴看到间谍小孩4当时热爱我的生活]

正则表达式为:

  1. 在(包括)方括号[]
  2. 之间查找字符串
  3. 在空格后,找到任何不是A-Z或a-z
  4. 的东西
  5. 在空格之后,找到所有内容直到字符串结尾
  6. 一旦找到这三个部分,就会打印出来(方括号围绕上面的2/3)。您需要的确切正则表达式取决于您希望如何拆分字符串的确切规则 - 您尚未在问题中指定。希望这会帮助您开始。