使用正则表达式将一条语句提取并转换为另一条语句的最佳方法是什么
具体地说,我实现了以下功能,从一个文本块中查找并提取一个sudent数字,并将其转换为:AB123CD到AB-123-CD
现在,它被实现为3个语句,如下所示:
gg['student_num'] = gg['student_test'].str.extract('(\d{2})\w{3}\d{2}') + \
'-' + gg['student_num'].str.extract('\d{2}(\w{3})\d{2}') + \
'-' + gg['student_test'].str.extract('\d{2}\w{3}(\d{2})')
我觉得我需要三个陈述是不对的- 每组一个-在下面串联在一起(如果这更复杂,甚至更多),并想知道是否有更好的方法来查找和转换一些文本
试试这个。希望有帮助
输出:
这不是正则表达式,但它快速而简洁:
输出:
替代正则表达式解决方案:
输出:
您可以使用regexp获取段列表,然后按以下方式连接它们:
如果
string
不包含所需的模式(re.search()
返回None
),则可以得到AttributeError
,因此您可能希望将此表达式包装在try...except
块中相关问题 更多 >
编程相关推荐