首页 > 解决方案 > 正则表达式拆分缩写名字的大写字母和句点的组合

问题描述

这是我的字符串:

'C. AndersonN. ChubbD. ForemanT. GurleyM. IngramA. JonesJ. Richard'

我想使用正则表达式拆分大写字母+句点以生成如下列表:

['C. Anderson', 'N. Chubb', 'D. Foreman', 'T. Gurley', 'M. Ingram', 'A. Jones', 'J. Richard']

提前致谢!

标签: pythonregex

解决方案


您可以将re.findall用于更简单的正则表达式,而不是拆分:

import re
s = 'C. AndersonN. ChubbD. ForemanT. GurleyM. IngramA. JonesJ. Richard'
new_s = re.findall('[A-Z]\.\s[A-Z][a-z]+', s)

输出:

['C. Anderson', 'N. Chubb', 'D. Foreman', 'T. Gurley', 'M. Ingram', 'A. Jones', 'J. Richard']

推荐阅读