【问题标题】:How to a split string like this?如何拆分这样的字符串?
【发布时间】:2017-08-05 03:50:26
【问题描述】:

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

“[41.298669629999999, -81.915329330000006] 6 2011-08-28 19:02:36 工作需要飞速发展......我很高兴看到 Spy Kids 4 对我的生活充满热情”

变成这样:

[41.298669629999999, -81.915329330000006] [6 2011-08-28 19:02:36] [工作需要飞速发展......我很高兴看到 Spy Kids 4 对我的生活充满热爱]

有人知道怎么做吗?谢谢。

【问题讨论】:

  • 输出 3 个列表(字符串?)?还是 3 个带有 [] 的字符串?
  • 你已经尝试过做什么?

标签: python string split


【解决方案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] [工作需要飞速发展......我很高兴看到 Spy Kids 4 对我生命的热爱]

正则表达式如下:

  1. 在(包括)方括号 [] 之间查找字符串
  2. 在空格后,找出不是 A-Z 或 a-z 的任何内容
  3. 在空格之后,查找直到字符串结尾的所有内容

一旦找到这三个部分,它就会打印它们(上面的 2/3 周围有方括号)。您需要的确切正则表达式将取决于您希望如何拆分字符串的确切规则 - 您没有在问题中指定。希望这可以帮助您入门。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多