从文本中提取想要的文字内容不难,在表格中提取数据也是如此。小编最近教大家学习re模块还真就遇到了棘手的问题,好在经过多方面的查询资料和请教之后,终于解出了这道题的答案。本篇我们要讲的是用python3 re在数字中提取字母,是不是从来没接触过呢?下面我们就来看看如何处理。
问题:
s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' ['1,2,3,4', '5,6,7,8', '9,10,11,12']
要想将上述字符串按要求进行分割,意味着分隔符为',a,' 和 ',b,':
针对上述情况,要想利用str.split()取得想要的结果,就要费点劲了,具体实现可见文末;
这时,就可以利用re.split()方法了
import re s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' re.split(',[a-b],', s, maxsplit=0, flags=0) # ['1,2,3,4', '5,6,7,8', '9,10,11,12']
那接下来介绍一下re.split()
re.split(pattern, string, maxsplit=0, flags=0)
pattern:相当于str.split()中的sep,分隔符的意思,不但可以是字符串,也可以为正则表达式: '[ab]',表示的意思就是取a和b的任意一个值(可参考: https://docs.python.org/3/library/re.html?highlight=re%20split#re.split )
string:要进行分割的字符串
maxsplit:分割的次数
看着问题很难,其实只要依赖于re中的函数就可以解决了。这也提醒了小编,在基础函数知识的掌握上一定要牢固呀!更多Python学习推荐:PyThon学习网教学中心。