问题16:如何调整字符串中文本的格式
案例:修改字符串中日期的表示方式
方案:使用re.sub()方法,对字符串中的内容进行排序替换;
import re
r = '2018-04-10 heyongcan zai xue python'
#将文件a中的内容读取到r1变量中
# r1 = open('文件a的存储地址').read()
#方法一:按位置排序
#(d{4}):表示匹配4个数字;
#(d{4})-(d{2})-(d{2}):表示被替换掉的内容;
#():将需把匹配的内容分组,顺序默认为1组,2组,3组;
#r:表示此字符串为原始字符串,作用是避免将数字转义;
#1:表示第一组的数据:d{4};
#2:表示第二组数据:d{2};
#3:表示第三组数据:d{2};
#/:表示将需要替代上的数据分组;
#r'2/3/1':表示将()分的组,从新排序;
r2 = re.sub('(d{4})-(d{2})-(d{2})',r'2/3/1', r)
print(r2)
#输出:04/10/2018 heyongcan zai xue python
#方法二:按名字排序
#格式:(?P<year>d{4}):表示第一组的名字为year;g<month>:将名字为month的数据放在第一位置;
#P:要大写;
r3 = re.sub('(?P<year>d{4})-(?P<month>d{2})-(?P<day>d{2})', r'g<month>/g<day>/g<year>', r)
print(r3)
#输出:04/10/2018 heyongcan zai xue python
