博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之字符串搜索和替换
阅读量:4624 次
发布时间:2019-06-09

本文共 2211 字,大约阅读时间需要 7 分钟。

简单直接使用 str.replace()
text="zzy is a beautiful boy"print(text.replace("boy","girl"))  # zzy is a beautiful girl
对于复杂的模式,请使用 re 模块中的 sub() 函数
# 假设你想将形式为 11/27/2018 的日期字符串改成 2018-11-27import redate="11/27/2018"print(re.sub(r"(\d+)/(\d+)/(\d+)",r"\3-\1-\2",date))  # 2018-11-27# sub() 函数中的第一个参数是被匹配的模式,第二个参数是替换模式。反斜杠数字比如 \3 指向前面模式的捕获组号
如果你打算用相同的模式做多次替换,考虑先编译它来提升性能
datepat=re.compile(r"(\d+)/(\d+)/(\d+)")print(datepat.sub(r"\3-\1-\2",date))  # 2018-11-27
对于更加复杂的替换,不再是简单是的把“/”替换成”-“,也许是变成”Today is 27 Nov 2018.“可以传递一个替换回调函数来代替,
from calendar import month_abbrdef change_date(data):    month=month_abbr[int(data.group(1))]    return "Today is {} {} {}".format(data.group(3),month,data.group(2))print(datepat.sub(change_date,date))  # Today is 2018 Nov 27

补充:calendar

def get_month(year, month):    return calendar.month(year, month)#返回指定年的日历def get_calendar(year):    return calendar.calendar(year)#判断某一年是否为闰年,如果是,返回True,如果不是,则返回Falsedef is_leap(year):    return calendar.isleap(year)#返回某个月的weekday的第一天和这个月的所有天数def get_month_range(year, month):    return calendar.monthrange(year, month)#返回某个月以每一周为元素的序列def get_month_calendar(year, month):    return calendar.monthcalendar(year, month)# 返回指定年的日历def get_calendar(year):    return calendar.calendar(year)#判断某一年是否为闰年,如果是,返回True,如果不是,则返回Falsedef is_leap(year):    return calendar.isleap(year)#返回某个月的weekday的第一天和这个月的所有天数def get_month_range(year, month):    return calendar.monthrange(year, month)#返回某个月以每一周为元素的序列def get_month_calendar(year, month):    return calendar.monthcalendar(year, month)year = 2013month = 8test_month = get_month(year, month)print(test_month)print('#' * 50)#print(get_calendar(year))print('{0}这一年是否为闰年?:{1}'.format(year, is_leap(year)))print(get_month_range(year, month))print(get_month_calendar(year, month))"""""" August 2013Mo Tu We Th Fr Sa Su          1  2  3  4 5  6  7  8  9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31##################################################2013这一年是否为闰年?:False(3, 31)[[0, 0, 0, 1, 2, 3, 4], [5, 6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24, 25], [26, 27, 28, 29, 30, 31, 0]]Process finished with exit code 0"""

 

 

转载于:https://www.cnblogs.com/zzy-9318/p/10457921.html

你可能感兴趣的文章
js 模糊查询 (360接口)
查看>>
python+rabbitMQ实现生产者和消费者模式
查看>>
“模态”对话框和“后退”按钮
查看>>
关于javascript实现的网站页面侧边悬浮框"抖动"问题
查看>>
linux_命令格式和命令提示符
查看>>
Cocos2d-X-3.0之后的版本的环境搭建
查看>>
when case group by 的用法集合
查看>>
洛谷P1908 逆序对
查看>>
转义符
查看>>
poj 1019
查看>>
asp.net mvc上传文件
查看>>
bitmq集群高可用测试
查看>>
主成分分析(PCA)原理详解
查看>>
短信验证接口网址
查看>>
Geohash距离估算
查看>>
Demon_背包系统(实现装备栏,背包栏,可以切换装备)
查看>>
记录:一次数据库被恶意修改配置文件的问题
查看>>
redis 持久化
查看>>
解决Jupyter notebook[import tensorflow as tf]报错
查看>>
Windows平台下使用ffmpeg和segmenter实现m3u8直播点播
查看>>