>>>
掌握如何进行字符串的编码转换
掌握拼接,截取,分割和合并字符串
掌握计算字符串的长度
掌握检索字符串的方法
掌握对字符串进行格式化
7.1 字符串编码转换
7.1.1 使用encode()方法编码
str.encode([incoding = "utf-8"],[errors = "strict"]);
# 第一参数是编码标准
# 第二参数是错误处理方式(可选)
有strict,抛异常
有ignore,忽略非法字符
有replace,用?代替非法字符
有xml,用xml的字符引用
a = "我的小可爱啊"
b = a.encode('GBK')
print(b)
a = "我的小可爱啊,dafs}?"
b = a.encode('ASCII','replace')
print(b)
7.1.2 使用decode()方法解码
bytes.decode([incoding = "utf-8"],[errors = "strict"])
# 同上
7.2 字符串的常用操作
7.2.1 拼接字符串
使用+号,只能是同类型,其他类型,可以用str()转
7.2.2 计算字符串的长度
utf-8,汉字一般3个字节,如GBK,GB2312
a = "我的小可爱,abc34"
bytes = a.encode("utf-8")
print(len(bytes)
7.2.3 截取字符串
str[start,end,step] #默认为(0,lne(str),1)
截取不存在的字符,会报异常
7.2.4 分割,合并字符串
a, 分割字符串
str.split(sep, maxsplit)
# sep,分隔符,默认为none
# maxsplit,分隔次数,默认-1,没有限制
# 返回的是列表,有maxsplit+1个元素
b, 合并字符串
strnew = string.join(iterable)
# string,连接字符
# iterable可迭代对象
7.2.5 检索字符串
以下start,end,为可选参数,默认0到lne(str)
a, count()方法
str.count(x, start, end)
b, find()方法
str.find(x, start, end)
str.rfind(),从右边找,结果同上,参数同上
打不到,返回-1
c, index()方法
同find()方法一样,返回find()函数一样,返回的是索引
不过找不到会报异常
d, startswith()
str.startswith(x, start, end) 返回false/ture, 判断字符串,从start, 到end结束, 是否以x结束
同上
endswith()
同上
7.2.6 字母的大小写转换
str.lower()
str.upper()
7.2.7 去除字符串的空格和特殊字符
a, strip()方法
str.strip(x) # x可选,表示为首尾去掉的字符,不是字符串
默认去掉左右边的特殊字符(\t\r\n等等)和空格
lstrip(x)
只去掉左侧的
rstrip(x)方法
只去掉右侧的
7.2.8 格式代字符串
a, 使用%操作符
%s
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取两位字符串
>>>string = 'hello world'
>>>print('%s' % string)
hello world
>>>print('%20s' % string)
hello world
>>>print('%-20s' % string)
hello world
>>>print('%.2s' % string)
he
>>>print('%.10s' % string)
hello worl
>>>print('%10.4s' % string)
hell
>>>print('%-10.4s' % string)
hell
b, 使用字符串对象的format(args)
简单用法
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的