字符串:
1.计算字符串的长度:len()函数。默认情况下,不区分英文、数字和汉字,所有字符按一个字符计算。获取字符串实际所占的字节数,可以使用encode()方法,下面是UTF-8和GBK编码的长度
2. 截取字符串:string[start : end : step],start截取的第一个字符的索引,若不指定,默认为0;end截取的最后一个字符的索引,若不指定,默认为字符串的长度;step切片的步长,若省略则默认为1。
3. 分隔字符串:采用split()方法,str.split(seq, maxsplit),seq用于指定分隔符,默认为none即所有空字符;maxsplit用于指定分隔的次数。
4. 合并字符串:使用join()方法实现,strnew = string.join(iterable),string用于指定合并时的分隔符。
5. 检索字符串:(1)count()方法用于检索指定字符在另一个字符串中出现的次数,格式如下,str.count(sub[ , start[, end] ]),sub表示要检索的子字符串,start表示检索范围的起始位置的索引,若 不指定则从头开始,end表示检索范围的结束位置的索引,若不指定则一直检索到结尾。(2)find()方法用于检索是否包含指定的子字符串,若不存在则返回-1,否则返回首次出现 该子字符串的索引。(3)index()方法也是用于检索是否包含子字符串,只是当指定的字符串不存在时会抛出异常。还有rindex()方法,只是从右边开始查找。(4)startswith()方法 用于检索字符串是否以指定子字符串开头,若是返回True,否则返回False。(5)endswith()方法用于检索字符串是否以指定子字符串结尾,若是返回True否则返回False。
6. 字母的大小写转换:lower()与upper()方法。
7. 去除字符串中的空格和特殊字符,strip()方法去除字符串左右两边的空格和特殊字符,lstrip()方法去除字符串左边的空格和特殊字符;rstrip()方法去除字符串右边的空格和特殊字符。
str.strip([chars]),chars用于指定要去除的字符,可以指定多个。若不指定则默认去除空格、制表符“\t”、回车符“\r”、换行符“\n”等。
8. 格式化字符串:
(1)使用%操作符。语法格式为:‘%[-][+][0][m][.n]格式化字符’%exp,
-用于指定左对齐,正数前方无符号,负数前方加负号;
+用于指定右对齐,正数前方加正号,负数前方加负号;
0表示右对齐,正数前方无符号,负数前方加负号,用0填充空白处;
M表示占有宽度;
.n表示小数点后保留的位数;
格式化字符:用于指定类型,%s表示字符串、%c表示单个字符、%r表示字符串(采用 repr()显示)、%o表示八进制整数、%d表示十进制整数、%e表示指数(基底写成e)、%x表示十六进
制整数、%f表示浮点数、%%表示字符%;
exp表示要转化的项,若要指定的项有多个,需要通过元组的形式进行指定。
(2)使用format()方法,语法格式为:str.format(args),args用于指定要转化的项,若有多项,用逗号进行分隔。
创建模板语法格式为:{[index][:[[fill]align][sign][#][width][.precision][type]]},
index用于指定要设置格式的对象在参数列表中的索引位置,从0开始,若省略则根据值的先后顺序自动分配;
fill用于指定空白处填充的字符;
align用于指定对齐方式(<表示左对齐,>表示右对齐,=表示右对齐,只对数字类型 有效,^表示居中);
sign用于指定有无符号数(值为+表示正号加正号,负号加负号;值为-表示正数不变,负数加负号;值为为空格时表示正数加空格,负数加负号);
#对于二进制、八进制、十六进制;
width用于指定所占宽度;
.precision用于指定保留的小数位数;
type用于指定类型。
字符串与二进制之间转换:
9. 正则表达式:记录文本规则的代码。
-
行定位符,“^”表示行的开始,“$”表示行的结尾
-
元字符,“.”匹配除换行符以外的任意字符;“\w”匹配字母、数字、下划线或汉字;“\W”匹配除数字、字母、下划线或汉字以外的字符;“\s”匹配单个的空白符(包括Tab键和换行符);“\S”匹配单个空白键以外的字符;“\b”匹配单词的开始或结束,单词的分界符通常是空格,标点符号或者换行;“\d”匹配数字。
-
限定符,“?”匹配前面的字符零次或一次;“+”匹配前面的字符一次或多次;“*”匹配前面的字符零次或多次;“{n}”匹配前面的字符n次;“{n,}”匹配前面的字符最少n次;“{n,m}”匹配前面的字符最少n次,最多m次。
-
在python中使用正则表达式时,是将其作为模式字符串使用的。
10. 使用re模块实现正则表达式操作,import re。
- 匹配字符串。
match()方法进行匹配,用于从字符串开始处进行匹配,若在起始位置匹配成功,则返回Match对象,语法格式为:re.match(pattern, string, [flags]),pattern表示模式字符串,由要匹配的正则表达式
转换而来;string表示要匹配的字符串;flags可选参数,表示标志位,用于控制匹配方式,如是否区分大小写。
search()方法进行匹配,用于在整个字符串中搜索第一个匹配的值。语法格式为:re.search(pattern, string, [flags])。
findall()方法用于在整个字符串中搜索所有符合正则表达式的字符串,并以列表的形式返回,否则返回空列表,语法格式为:re.findall(pattern, string, [flags])。
- 替换字符串。sub()方法用于实现字符串的替换,语法格式为:
re.sub(pattern, rep1, string, count, flags),pattern表示模式字符串;rep1表示替换的字符串;string表示要被查找替换的原始字符串;count可选参数,表示模式匹配后替换的最大次数,默认为0,
表示替换所有的匹配。
- 使用正则表达式分隔字符串。split()方法用于实现根据正则表达式分隔字符串,并以列表的形式返回。语法格式为:re.split(pattern, string, [maxsplit], [flags])。maxsplit可选参数,表示最大的拆分次数。