【问题标题】:Python regex split but retain certain characters for splitPython 正则表达式拆分但保留某些字符进行拆分
【发布时间】:2018-12-18 13:28:36
【问题描述】:

我有以下文字

text = "Perennials. Stolons slender. Perianth bristles 6 or 7, ca. 2 × as long as nutlet"

我想使用定义为“.\s[A-Z]”的分隔符来拆分段落。但是,我仍然希望在原句中保留 [A-Z],这样输出是这样的:

['Perennials',
 'Stolons slender',
 'Perianth bristles 6 or 7, ca. 2 × as long as nutlet']

到目前为止我所做的是:

re.split(r'\.\s[A-Z]', text)

但它删除了第一个字母:

['Perennials',
 'tolons slender',
 'erianth bristles 6 or 7, ca. 2 × as long as nutlet']

有人可以帮忙吗?谢谢~

【问题讨论】:

    标签: regex python-3.x split


    【解决方案1】:

    使用前瞻分割:

    result = re.split(r'\.\s(?=[A-Z])', text)
    print(result)
    
    ['Perennials', 'Stolons slender', 'Perianth bristles 6 or 7, ca. 2 × as long as nutlet']
    

    前瞻(?=[A-Z]) 将断言但不会消耗点和空格后面的内容是大写字母。

    【讨论】:

    • 好吧,这么快,我还在努力寻找编辑按钮来更改标题!
    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多