Python移除指定日期前内容,转换为SQL日期问题求助
嘿,别着急!作为Python新手,字符串处理确实容易卡壳,我来帮你搞定这个问题~
你的需求是提取出字符串里的“19 May 2012”部分,其实有两种简单的方法:
方法一:用正则表达式(调整你之前的思路就行)
我们可以直接匹配逗号及之前的所有内容,然后替换为空:
import re original_str = "9 - Saturday, 19 May 2012" # 匹配从开头到", "的所有内容,替换成空 new_s = re.sub(r'^.*, ', '', original_str) print(new_s) # 输出: 19 May 2012
这里的正则^.*, 解释下:
^匹配字符串的起始位置.*贪婪匹配任意数量的字符(会一直匹配到最后一个逗号),精准匹配逗号加后面的空格
把这整段内容替换为空,就刚好留下了你要的日期部分。
方法二:用字符串分割(更简单,不用正则)
因为你的字符串里只有一个逗号,直接用split分割后取后半部分就行:
original_str = "9 - Saturday, 19 May 2012" # 按逗号分割成两部分,取第二部分并去掉开头的空格 new_s = original_str.split(',')[1].strip() print(new_s) # 输出: 19 May 2012
split(',')会把字符串拆成["9 - Saturday", " 19 May 2012"],[1]取后面的部分,strip()去掉开头多余的空格,完美得到目标内容。
额外加分:转换成SQL日期格式
拿到日期字符串后,用datetime模块可以轻松转成SQL支持的YYYY-MM-DD格式:
from datetime import datetime date_str = "19 May 2012" # 解析字符串为日期对象 sql_date = datetime.strptime(date_str, "%d %B %Y").date() print(sql_date) # 输出: 2012-05-19
这个格式直接就能用于SQL的日期字段啦~
内容的提问来源于stack exchange,提问作者Valek
相关产品推荐
相关产品推荐

