gpt4 book ai didi

python - 在 Python 中使用 Regex 获取特定字符串

转载 作者:行者123 更新时间:2023-12-03 22:48:20 25 4
gpt4 key购买 nike

我有如下所示的字符串:

ART-B-C-ART0015-D-E01
ADC-B-C-ADC00112-V-E01
AEE-B-C-AEE00011-D-E01
AQW-B-C-AQW0013-D-E01
AAZ-B-C-AAZ0014-D-E01
AQQ-B-C-AQQ0032-D-E01
ADD-B-C-D-ADD0001-D-E01
AAA-B-C-AAA0012-D-E01
我想得到以下结果:
预期结果:
ART0015
ADC00112
AEE00011
AQW0013
AAZ0014
AQQ0032
ADD0001
AAA0012
我使用了下面的正则表达式代码,不幸的是,我没有得到预期的结果,因为第 7 条记录不在第三条破折号中。它在第四个破折号中。
df["A"].str.extract(r'^(?:[^-]*-){3}\s*([^-]+)', expand=False)

0 ART0015
1 ADC00112
2 AEE00011
3 AQW0013
4 AAZ0014
5 AQQ0032
6 D
7 AAA0012

最佳答案

使用 Series.str.extract 通过搜索 3 个字母后跟 4-5数字:

In [477]: df['col'] = df['col'].str.extract(r'([a-zA-Z]{3}\d{4,5})')

In [478]: df
Out[478]:
0 ART0015
1 ADC00112
2 AEE00011
3 AQW0013
4 AAZ0014
5 AQQ0032
6 ADD0001
7 AAA0012

关于python - 在 Python 中使用 Regex 获取特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65263070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com