用途背景:
正则表达式专门用于匹配应用中的数据,简化字符串的处理程序,提供re模块来匹配正则表达式。
字符串的格式化:
pyhton中的格式化输出类似C语言的函数printf()、sprintf()格式化输出,因此要牢记格式化字符串代替字符的含义,下面给出一些常用的字符串替代符。
符号 | 含义 |
---|---|
% c | 格式化字符及其ASCII码 |
% s | 格式化字符串 |
% d | 格式化整形 |
% u | 无符号整形 |
% o | 格式化无符号八进制 |
% x | 格式化无符号十六进制 |
% X | 格式化无符号十六进制(大写) |
% f | 格式化浮点数字,可指定小数点后的精度 |
% e | 用科学数字法格式化浮点数 |
% E | 同上 |
% g | 根据值的大小使用%f还是%e |
% G | 同上 |
% p | 用十六进制数格式化变量的地址 |
注意:
1.如果要格式化多个值,元组中元素的顺序必须和格式化字符串中替代替代符的顺序一致,可能出现类型不匹配,抛出如下异常:
TypeError: int argument required
2. 若要输出 % ,则须使用 ‘ % %'
字符串的合并:
使用“+”连接字符串。
如若“+”两侧都是字符串,则进行连接操作;如两侧都是数字,则进行加法操作;如若加法两侧是不同类型,将抛出异常。
使用函数join()连接字符串,
例如:使用 , 来连接字符
结果显示如下:
字符串的截取:
- 字符串是序列,可以使用序列的索引获取子串
- 通过切片对字符串实现有规律的截取
具体格式如右:string[ start : end : step],其中string表示要取子串的原字符串变量,[ start :end :step]表示从string的第start个索引位置开始到第end个索引 之间截取字符串,截取的步长是step。索引从 0 开始计数。 - 对多个字符串进行截取,一般使用函数spilt()。
具体格式如右:split([ char ][ , num])
参数char表示用于分割的字符,默认分割字符是空格;
参数num表示分割次数,默认字符char在字符中出现的个数来划分字符串。字符串的比较
- “ = = ”,“ != ”用于比较字符串的内容以及类型。
如果比较字符串的一部分,先截取子串,在使用“ = = ”比较。 - 比较字符串开头或结尾部分使用startwith(),或者endwith()函数,
具体格式如右:startwith(substring [[, start ] [, end]])
参数substring是与源字符串开头部分比较的子串
参数start表示开始比较的位置
参数end表示比较结束的位置
不同的是endswith()从源字符串的尾部开始搜索小注: startwith(),endwith()相当于切片[0:n],n是源字符串中最后一个索引,startwith()endwith()不能用于比较原字符串中任一部分的子串。
字符串的反转
- 通过range()循环。
输出结果:
- 通过列表的reverse()函数实现字符串的反转。
结果如下: - 通过切片实现字符串反转。
结果同上。
- “ = = ”,“ != ”用于比较字符串的内容以及类型。
字符串的查找和替换
- 查找字符串
find()返回原字符串中第一次出现子串的索引。
find(substring [, start [, end] ] )
参数substring表示待查子串
参数start表示搜索的起始位置
参数end表示搜索的结束位置,找不到返回-1.
rfind()参数相同,从尾部开始查询。 - 替换字符串
replace()实现字符串的替换,不支持正则表达式。
replace(old, new [, max])
参数old表示将被替换的字符串
参数new表示替换old的字符串
参数max表示替换次数。
字符串与日期的转换
- time模块有函数strftime()可以实现从时间到字符串的转变。
strftime(format [, tuple])->string
参数format表示格式化日期的特殊字符。例如“%Y-%m- %d”
参数tuple表示需要转换的时间,用元组储存。
函数返回一个表示时间的字符串。 - 字符串到时间的转变。
字符串到时间需要使用time模块,datetime模块进行两次转换。- 调用strptime()把字符串转换成一个元组。
strptime(string, format) -> struct_time
参数string表示要转换的字符串
参数format表示日期时间的输出格式
函数返回一个存放时间的元组 - 把表示时间的元组赋值给年,月,日三个变量。
- 把年月日三个变量传递给函数datetime().
datetime(year,month,day[,minute [, second [, microsecond [, tzinfo] ] ] ] )
参数year,month,day表示年月日,必不可少。
函数返回一个表示datetime类型的变量。
注意: 格式化日期是区分大小写的,%Y,%y表示意义不相同。
- 调用strptime()把字符串转换成一个元组。
···