[英]Splitting a string in 2 strings using regular expression
早上好,我有一个问题,使用 Webscraping,我以字符串格式提取信息,如下所示:
《2018年5月发行无有效期》
我想要的是使用正则表达式将此字符串拆分为 2 个字符串,我的想法是:每当您找到 4 个数字后跟“否”时,我想创建以下字符串:
"Issued May2018 - No expiration date".
通过这种方式,我能够以实现两个字符串的方式使用应用于“-”的方法“split”:
我正在考虑使用正则表达式
\d\d\d\dNo
它应该能够识别 2018No,但我不知道如何进行才能将其替换为
May2018 - No expiration date
并设置使用拆分 function 的地板
有什么建议么? 其他方法被很好地建议
使用re.sub
。
\g<1>
在传递给 re.sub() 的 repl 参数的字符串中表示,作为参考组 1 的匹配结果。
import re
s = "Issued May2018No expiration date"
print(re.sub("(\d{4})(No)", "\g<1> - \g<2>", s))
# 'Issued May2018 - No expiration date'
import re
string = "Issued May2018No expiration date"
m = re.findall(r"^(.*[0-9]{4})(No.*)$", string)
print(m[0][0] + " - " + m[0][1])
->
Issued May2018 - No expiration date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.