Python 使用带字符串的正则表达式拆分序列成员
大约一周前,我问了一个类似的问题,试图修改代码以适应不同的目的,但似乎无法使其工作 我想使用月份缩写作为分隔符拆分字符串(因此,我将使用一月、二月、三月、四月、五月、六月等) 我试着用Python 使用带字符串的正则表达式拆分序列成员,python,regex,python-2.7,pandas,Python,Regex,Python 2.7,Pandas,大约一周前,我问了一个类似的问题,试图修改代码以适应不同的目的,但似乎无法使其工作 我想使用月份缩写作为分隔符拆分字符串(因此,我将使用一月、二月、三月、四月、五月、六月等) 我试着用 df['a'] = [re.split(r'[JUNE|JULY]+', x) for x in df['a'] 以及一些变化(在x的之前添加.group(0)) 我猜我的问题是定界符的语法。查看正则表达式的文档,我应该能够使用字符串作为分隔符,但只能通过re.search找到一种方法 也尝试过 df['a']
df['a'] = [re.split(r'[JUNE|JULY]+', x) for x in df['a']
以及一些变化(在x的之前添加.group(0)
)
我猜我的问题是定界符的语法。查看正则表达式的文档,我应该能够使用字符串作为分隔符,但只能通过re.search
找到一种方法
也尝试过
df['a'] = [re.split[(('JUNE', 'JULY'), x).group(0) for x in df['a']]
系列中的数据如下所示:
df['a'] = ['ABCJUNE123', 'DEFJULY456', 'DEGJUNE765', 'DEFJUNE345']
我想:
df['a'] = ['ABC', 'DEF', 'DEG', 'DEF']
我的表达式缺少什么?你的正则表达式是
r'JUNE|JULY'
例如:
>>> re.split(r'JUNE|JULY', 'ABCJUNE123')
['ABC', '123']
[JUNE | JULY]+
regex不代表JUNE
或JULY
是的,这是有效的。谢谢搜索顶部附近的文档,下次我将更仔细地查看。我使用group
只获取第一个成员(不起作用),但后来我意识到这是一个列表。