如何解决如何从正则表达式中提取值的范围
我想从熊猫系列中提取所有字母(A-Za-z)以及任何以 9 开头的字符串,例如 9mobile、9link 等。
1000 pos ba ganiyu fatai og ogng 9moble
1001 99 ct justrite limited(ota) la lang
1002 9link qt pymt airtime recharge
1003 qt pymt airtime recharge 56
9 只应在字符串的开头出现零次或一次。
我想出了这个正则表达式模式 [^A-Za-z\(A9?)]
,但它似乎没有提取出我真正想要的东西。
我也试过这个:
text = t.apply(lambda x: re.sub('[^A-Za-z\A9.?]+',' ',str(x)))
导致错误
我的预期输出是:
1000 pos ba ganiyu fatai og ogng 9moble
1001 ct justrite limited(ota) la lang
1002 9link qt pymt airtime recharge
1003 qt pymt airtime recharge
解决方法
如果我理解正确,您想提取任何字符串和任何以 9 作为第一个字符的内容。在这种情况下,试试这个正则表达式:
9{0,1}[a-zA-Z]+
所以它应该看起来像这样:
text = t.apply(lambda x: re.sub('9{0,1}[a-zA-Z]+',' ',str(x)))
编辑:
要仅从列表中删除数字,请使用:
\d+([^\w]|$)
这是做什么的,它匹配任何后面没有字符或后面跟着字符串结尾的数字,所以它不会匹配像“9link”这样的字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。