[英]How can I splice out the date from similar strings?
我从网络抓取中获得了一堆日期,但看来日期字符串中也包含一个国家。 这是一个示例:
Nov. 4, 2015Bangladesh
April 8, 2015Saudi Arabia
Jan. 14, 2016Indonesia
June 26, 2015Tunisia
Jan. 11, 2016France
我知道regex非常适合使用字符串,但是我只是没有足够的经验来知道如何开始。
如何在保留日期不变的情况下删除国家/地区?
这个正则表达式将从所有这些日期字符串中获取日期字符串。 可能还可以通过向我们显示您的日期抓取代码来解决此问题,但这不是这个问题的实质。
^.+?\s\d+,\s\d+
例:
import re
dates = ["Nov. 4, 2015Bangladesh",
"April 8, 2015Saudi Arabia ",
"Jan. 14, 2016Indonesia ",
"June 26, 2015Tunisia ",
"Jan. 11, 2016France "]
for item in dates:
print(re.match(r"^.+?\s\d+,\s\d+", item).group(0))
打印:
Nov. 4, 2015
April 8, 2015
Jan. 14, 2016
June 26, 2015
Jan. 11, 2016
说明
^ -assert position at start of string
.+? -match any char except newline (as few as possible)
\s -match a space character
\d+ -match any number of digits
, -match literal comma
\s -match a space character
\d+ -match any number of digits
您可以尝试以下操作:
在此处查看演示:
import re
dates = """Nov. 4, 2015Bangladesh
April 8, 2015Saudi Arabia
Jan. 14, 2016Indonesia
June 26, 2015Tunisia
Jan. 11, 2016France"""
print re.findall(r'^(.*\d{4})', dates, re.M)
# ['Nov. 4, 2015', 'April 8, 2015', 'Jan. 14, 2016', 'June 26, 2015', 'Jan. 11, 2016']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.