简单直接使用 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-27
import re
date="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_abbr

def 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,如果不是,则返回False
def 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,如果不是,则返回False
def 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 = 2013
month = 8
test_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 2013
Mo Tu We Th Fr Sa Su
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 ##################################################
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
"""
												

最新文章

  1. MySQL 注册码
  2. es6还欠完善的地方
  3. Android 中的code sign
  4. 一、HTML和CSS基础--HTML+CSS基础课程--第2部分
  5. 被spring和hibernate4逼疯
  6. u盘在电脑读不出来,但别的可以读,别的u盘在我电脑又可以识别怎么回事?
  7. NimBus一个好的开发框架
  8. Spring工厂方式创建Bean实例
  9. C#算法基础之选择排序
  10. C++中实现从std::string类型到bool型的转换
  11. BZOJ 3314: [Usaco2013 Nov]Crowded Cows( 单调队列 )
  12. 南阳OJ 16 矩形嵌套
  13. Java中的i=i++
  14. shell 编程初级
  15. 工程师常犯的web后台界面用户体验错误
  16. NMT 机器翻译
  17. 搜索引擎ElasticSearchV5.4.2系列一之ES介绍
  18. Python 中parse.quote类似JavaScript encodeURI() 函数
  19. NetCore中使用DynamicExpresso、Z.Expressions、LambdaParser进行安字符串求值
  20. gitlab使用笔记

热门文章

  1. Codefores 507D The Maths Lecture( 数位DP )
  2. Https 代理 sslsocket
  3. Mybatis一级缓存和二级缓存 Redis缓存
  4. dataframe字段过长被截断
  5. mutt配置太繁琐,如果lz你只是单纯为了发邮件的话,其实用mailx就足以了
  6. 多个ip地址获取
  7. Devops、CI\CD、Jenkins
  8. Vue 之指令篇
  9. Python--多态与多态性、绑定方法与非绑定方法
  10. 阿里云Linux服务器购买、配置