我想提取NUMERO之后的数字,它适用于一个句子,但是我有一个包含更多句子的数据框,所以我使用了一个循环,但它不起作用:
一句话:
b="jghjghjgh : 1 hjggjhgjh: 0 NUMERO : 1544kkk454 jgjhjgjgjdgstrythghgjh "
m = re.search('NUMERO : (\S+)', b , re.IGNORECASE)
m.group(1)
使用循环
for f in identifiant["det"] :
f=repr(f)
m = re.search('NUMERO : (\S+)', f, re.IGNORECASE)
m.group(1)
我收到此错误:
Traceback (most recent call last):
File "<ipython-input-136-1f5f32a53ddb>", line 4, in <module>
m.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
有任何提示吗?
答案 0 :(得分:0)
您的错误意味着m
是None
,当正则表达式搜索未找到任何内容时就会发生。
您的第一个代码示例有效。在您的第二个示例中,错误表明您的正则表达式搜索失败,但是由于我们不知道您的identifiant
变量所保存的内容,因此无法说明原因。
要检查出什么问题,请添加调试行:
for f in identifiant["det"] :
f=repr(f)
m = re.search('NUMERO : (\S+)', f, re.IGNORECASE)
if not m:
print(f)