字符型(字符串)
字符串常用操作
拼接字符串
拼接字符串需要使用‘+’运算符可完成对多个字符串的拼接。如
字符串不允许直接与其他类型的数据拼接,需要将其他类型转换为字符串才可以进行拼接。
计算字符串的长度
不同的字符所占字节数不同,在python中数字、英文、小数点、下划线和空格占一个字节,一个汉字可能会占2~4个字节,取决于采用的编码。汉字在GBK/GB2312编码中占2个字节,在UTF-8/Unicode编码中一般占用3个字节(或4个字节)。python中默认的编码格式是UTF-8,即一个汉字占3个字节。
python中,提供了内置函数len()计算字符串的长度,默认情况下通过len()函数计算字符串的长度时,不区分英文、数字和汉字,所有字符都按照一个字符来计算
如需实际获取字符串所占的字节数,可以通过encode()方法进行编码后再进行获取。如下:
截取字符串
字符串也属于序列,要截取字符串也可以采用切片方法实现:
1 string[start:end:step] 2 # string: 表示要截取的字符串 3 # start:切片开始的位置(包括该位置),不指定时则默认为0 4 # end: 切片截止的位置(不包括该位置),不指定时则默认其序列的长度 5 # step: 切片的步长,不指定时则默认为1
例:
分割字符串
分割字符串是把字符串分割为列表,通过split() 函数可以实现字符串分割,也就是把一个字符串按照指定的分隔符切分为列表。split()语法格式:
string.split(sep, maxsplit) # string: 表示要进行分割的字符串 # sep: 用于指定分隔符,可以包含多个分隔符,默认为None,即所有空字符串(包括空格、换行符/n、制表符/t等) # maxsplit:可选参数,用于指定分割的次数,如果不指定或者为-1,则分隔次数没有限制,否则返回结果列表的元素个数,个数最多为maxsplit+1 # 在split()方法中如果不指定sep参数那么也不能指定maxsplit参数
例:
合并字符串
合并字符串与拼接字符串不同,它可以将多个字符串采用固定的分隔符连接在一起。合并字符串可以使用字符串对象的join() 方法实现,语法格式如:
newstr = string.join(iterable) # newstr: 表示合并后生成新的字符串 # string: 字符串类型,用于指定合并时的分隔符(合并字符串时的连接符) # iterable:可迭代的对象,该迭代的对象中的所有元素将被合并一个新的字符串,string作为边界点分割出来(要合并的对象)
例:
检索字符串
1、count() 方法
count() 方法用于检索指定字符串中在另一个字符串中出现的次数,如果检索的字符串不存在,则返回0,否则返回出现的次数。语法格式:
str.count(sub[, start[, end]]) # str: 表示原字符串 # sub: 表示要检索的子字符串 # start: 可选参数,表示检索范围的起始位置的索引,如不指定,则从头开始检索 # end: 可选参数,表示检索范围的结束位置的索引,如不指定,则一直会检索到结尾
例:
# 指定位置检索用法不详
2、find() 方法
find() 方法用于检索是否包含指定的子字符串,如果检索的字符串不存在免责返回-1,否则返回首次出现该子字符串时的索引。语法格式:
str.find(sub[, start[, end]]) # str: 表示原字符串 # sub: 表示要检索的子字符串 # start: 可选参数,表示检索范围的起始位置的索引,如不指定,则从头开始检索 # end: 可选参数,表示检索范围的结束位置的索引,如不指定,则一直会检索到结尾
例:
# 指定位置检索用法不详
如果只是想要判断指定的字符串是否存在,也可以通过关键字in来实现,存在则返回True,否则返回False。
python还提供了rfind() 方法,其作用和find() 方法类似,只是从字符串右边开始检索。
3、index() 方法
index() 方法同find() 方法类似,也是用于检索是否包含指定的子字符串。只不过是用index() 方法时,当指定的字符串不存在时则会抛出异常。语法格式:
str.index(sub[, start[, end]]) # str: 表示原字符串 # sub: 表示要检索的子字符串 # start: 可选参数,表示检索范围的起始位置的索引,如不指定,则从头开始检索 # end: 可选参数,表示检索范围的结束位置的索引,如不指定,则一直会检索到结尾
python还提供了rindex() 方法其作用同index() 方法类似,只是重字符串右边开始检索。
4、startswith() 方法
startswith() 方法用于检索字符串是否以指定的子字符串开头,如果是则返回True,否则返回False。语法格式:
str.startswith(sub[, start[, end]]) # str: 表示原字符串 # sub: 表示要检索的子字符串 # start: 可选参数,表示检索范围的起始位置的索引,如不指定,则从头开始检索 # end: 可选参数,表示检索范围的结束位置的索引,如不指定,则一直会检索到结尾
5、endswith() 方法
endswith() 方法用于检索字符串是否以指定的子字符串结尾,如果是则返回True,否则返回False。语法格式:
str.endswith(sub[, start[, end]]) # str: 表示原字符串 # sub: 表示要检索的子字符串 # start: 可选参数,表示检索范围的起始位置的索引,如不指定,则从头开始检索 # end: 可选参数,表示检索范围的结束位置的索引,如不指定,则一直会检索到结尾
字符串字母大小写的转换
在python中,字符串对象提供了lower() 方法和 upper() 方法用于字母大小写的转换,可将大写字母转换为小写字母或将小写字母转换为大写字母。
1、lower() 方法
lower() 方法用于将字符串中的大写字母转换为小写字符,如果字符串中没有需要转换的字符,则将原字符串返回。
2、upper() 方法
upper() 方法用于将字符串中的大写字母转换为小写字符,如果字符串中没有需要转换的字符,则将原字符串返回。
去除字符串中的空格和特殊字符
python中提供的的strip() 方法可以去除字符串左右两侧的空格和特殊字符,也可以使用lstrip() 方法去除字符串左边的空格和特殊字符,使用rstrip() 方法可以去除字符串右边的空格和特殊字符。这里的特殊字符是指制表符 /t、回车符/r、换行符/n。
1、strip() 方法
strip() 方法可以去除字符串左右两侧的空格和特殊字符,语法格式:
string.strip([chars]) # string: 表示要去除空格或特殊字符的字符串 # chars:可选参数,用于指定要去除的字符,可以指定多个。如果设置chars为‘@.’ ,则去除左右两侧包括的‘@’和‘.’ ,如果不指定chars参数吗,则默认去除空格及特殊字符。
例:
2、lstrip() 方法
lstrip() 方法用于去除字符串左侧的空格和特殊字符,语法格式:
string.lstrip([chars]) # string: 表示要去除空格或特殊字符的字符串 # chars:可选参数,用于指定要去除的字符,可以指定多个。如果设置chars为‘@.’ ,则去除左侧包括的‘@’和‘.’ ,如果不指定chars参数吗,则默认去除空格及特殊字符。
例:
3、rstrip() 方法
rstrip() 方法用于去除字符串右侧的空格和特殊字符,语法格式:
string.rstrip([chars]) # string: 表示要去除空格或特殊字符的字符串 # chars:可选参数,用于指定要去除的字符,可以指定多个。如果设置chars为‘@.’ ,则去除右侧包括的‘@’和‘.’ ,如果不指定chars参数吗,则默认去除空格及特殊字符。
例:
格式化字符串
格式化字符串是指先制定一个模板,在这个模板中预留几个空位,然后在根据需要填上相对应的内容。这些空位需要通过指定的符号标记(也称为占位符),而这些符号还不会显示出来。python中提供了如下两种方法格式化字符串:
1、使用’%’ 操作符
格式化字符 | 说明 | ||||||||
%s | 格式化字符串(字符串采用str() 显示) | ||||||||
%r | 格式化字符串(字符串采用rep() 显示) | ||||||||
%d | 格式化十进制整数 | ||||||||
%f | 格式化浮点数 | ||||||||
%F | 格式化浮点数 | ||||||||
··· | ··· | ||||||||
··· | ··· | ||||||||
··· | ··· | ||||||||
··· | ··· |
由于其内容过多,只演示些常用的格式化字符:
2、使用字符串对象的format() 方法
str.format(args) # str: 用于指定字符串的显示样式(模板) # args: 用于指定要转换的项,如果有多项则使用逗号分隔
在创建模板时需要使用'{}’和’:’ ,指定占位符,例如:
字符串编码转换
···
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/275270.html