第5章 字符串与正则表达式背记手册
必背必记
1.len()函数
len()函数的基本用法如下:
len(string)
其中,string 用于指定要进行长度统计的字符串。
2、切片法截取字符串
切片法截取字符串的语法格式如下:
string[start : end : step]
参数说明:
string:表示要截取的字符串。
start:表示要截取的第一个字符的索引(包括该字符),如果不指定,则默认为0。
end:表示要截取的最后一个字符的索引(不包括该字符),如果不指定则默认为字符串
的长度。
step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可
以省略。
3、分割字符串
split()方法的语法格式如下:
str.split(sep, maxsplit)
参数说明:
str:表示要进行分割的字符串。
sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、
换行“\n”、制表符“\t”等)。
maxsplit:可选参数,用于指定分割的次数,如果不指定或者为-1,则分割次数没有限
制,否则返回结果列表的元素个数,个数最多为maxsplit+1。
返回值:分隔后的字符串列表。
例
st0= ' song huan gong ' print(st0.split()) st1= 'iisongiiihuaniiiigongi' print(st1.split('i'))
4、合并字符串
join()方法的语法格式如下:
strnew = string.join(iterable)
参数说明:
strnew:表示合并后生成的新字符串。
string:字符串类型,用于指定合并时的分隔符。
iterable:可迭代对象,该迭代对象中的所有元素(字符串表示)将被合并为一个新的字
符串。string 作为边界点分割出来
例:
la = ['a', 'b', 'c', 'd', 'e']
s = ''
for x in la:
s += x
print(s)
>>>lb = ['a', 'b', 'c', 'd', 'e']
>>>''.join(lb)
>>>print(la)
>>>l = ['a', 1, 2, 3, 'e']
>>>''.join(str(x) for x in l)
>>>print(l)
5、常用的格式化字符
格式化字符 | 说明 |
%s | 字符串(采用str()显示) |
%c | 单个字符 |
%d | 或者%i 十进制整数 |
%x | 十六进制整数 |
%f | 或者%F 浮点数 |
%r | 字符串(采用repr()显示) |
%o | 八进制整数 |
%e | 指数(基底写为e) |
%E | 指数(基底写为E) |
%% | 字符% |
6、format()方法中常用的格式化字符
格式化字符 | 说明 |
s | 对字符串类型格式化 |
d | 十进制整数 |
c | 十进制整数自动转换成对应的Unicode 字符 |
e或者E | 转换为科学计数法表示再格式化 |
g 或者G | 自动在e 和f 或者E 和F 中切换 |
b | 将十进制整数自动转换成二进制表示再格式化 |
o | 将十进制整数自动转换成八进制表示再格式化 |
x 或者X |
将十进制整数自动转换成十六进制表示再格式化 |
f 或者F | 转换为浮点数(默认小数点后保留6 位)再格式化 |
% | 显示百分比(默认显示小数点后6 位) |
例:
>>> print ('hello {first} and {second}'.format(first='df', second='another df')) >>> print ('hello %(first)s and %(second)s' % {'first': 'df', 'second': 'another df'}) >>> print ('hello %s and %s' % ('df', 'another df'))
7、使用encode()方法编码
encode()方法的语法格式如下:
str.encode([encoding="utf-8"][,errors="strict"])
参数说明:
str:表示要进行转换的字符串。
encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8,如
果想使用简体中文,也可以设置为gb2312。当只有这一个参数时,也可以省略前面的“enc
oding=”,直接写编码。
errors="strict":可选参数,用于指定错误处理方式,其可选择值可以是strict(遇到非法
字符就抛出异常)、ignore(忽略非法字符)、replace(用“?”替换非法字符)或xmlcharref
replace(使用XML 的字符引用)等,默认值为strict。
8、使用decode()方法解码
decode()方法的语法格式如下:
bytes.decode([encoding="utf-8"][,errors="strict"])
参数说明:
bytes:表示要进行转换的二进制数据,通常是encode()方法转换的结果。
encoding="utf-8":可选参数,用于指定进行解码时采用的字符编码,默认为UTF-8,如
果想使用简体中文,也可以设置为gb2312。当只有这一个参数时,也可以省略前面的
“encoding=”,直接写编码。
9、常用元字符
代码 | 说明 |
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
10、常用限定符
限定符 | 说明 | 举例 |
? | 匹配前面的字符零次或一次 | colou?r,该表达式可以匹配colour 和color |
+ | 匹配前面的字符一次或多次 | go+gle,该表达式可以匹配的范围从gogle 到goo…gle |
* | 匹配前面的字符零次或多次 | go*gle,该表达式可以匹配的范围从ggle 到goo…gle |
{n} | 匹配前面的字符n 次 | go{2}gle,该表达式只匹配google |
{n,} | 匹配前面的字符最少n 次 | go{2,}gle,该表达式可以匹配的范围从google 到goo…gle |
{n,m} |
匹配前面的字符最少n 次,最 多m 次 |
employe{0,2},该表达式可以匹配employ、employe 和 employee 3 种情况 |
英语词汇
背记有法,让英语不再成为编程学习的拦路虎!
string |
|