Python之字符串

1、字符串编码,python中str 用来表示 Unicode 字符,bytes 用来表示二进制数据。str 类型和 bytes 类型之间就需要使用 encode() 和 decode() 方法进行转换,其中编码解码需要使用对应的编码格式。

str.encode(encoding='UTF-8',errors='strict')encoding -- 要使用的编码,如"UTF-8"。errors -- 设置不同错误的处理方案。默认为 'strict',遇到非法字符就抛出异常。其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace'等。返回编码后的字符串。
str.decode(encoding='UTF-8',errors='strict')参数和返回同encode
例子如下:a = '天气'print(type(a))b = bytes(a,encoding='utf-8')print(b)print(type(b))c = str(b,encoding='utf-8')print(c)print(type(c))
对应输出:<class 'str'>b'\xe5\xa4\xa9\xe6\xb0\x94'<class 'bytes'>天气<class 'str'>

2、一般在.py文件能看到如下这样的写法:

# -*- coding: gbk -*-

表示该.py文件应该以什么编码方式读取和保存,在python3中默认是utf-8。注意: “# -*- coding: gbk -*-” 要写在文件开头才会起作用,因为python解释器首先需要确定编码类型。其中读取文件就是解码的过程,将utf-8编码的文件解码写入内存,所以我们看到的都是str(Unicode 编码),对应保存文件就是编码过程。

3、字符串常用函数

str.split(str="", num=string.count(str)).参数:str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num -- 分割次数。默认为 -1, 即分隔所有。返回值:返回分割后的字符串列表
a = '天气|湿度|温度'print(a.split('|'))结果:['天气', '湿度', '温度']​​​​str.strip([chars]);方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
a = 'tt 天气|湿度|温度 tt'print(a.strip('tt'))结果: 天气|湿度|温度  类似的还有lstrip,rstrip,只不过一个方向从左或者右开始。​​​​​​str.startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,
是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查
a = 'tt 天气|湿度|温度 tt'print(a.startswith('tt'))输出:True​​​​​​​str.endswith(suffix, beg=0, end=len(string))检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。
a = 'tt 天气|湿度|温度 tt2'print(a.endswith('tt2'))输出:True​​​​str.find(str, beg=0, end=len(string))检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
a = 'tt 天气|湿度|温度 tt2'print(a.find('天气'))输出:3
str.index(str, beg=0, end=len(string))类似find方法,只不过str不存在时会报异常​​​​​​​len(string)  返回字符串长度
a = 'tt123tt2'print(len(a))输出:8​​​​​​​replace(old, new [, max])把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
a = 'tt123tt2eew2cffw32'print(a.replace('2','9',2))输出:tt193tt9eew2cffw32​​​​​​​count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
a = 'tt123tt2eew2cffw32'print(a.count('2',1,3))   #输出0print(a.count('2',1,4))   #输出1

 类似这种 rfind() 函数,带有一个字母 r  ,一般从右边即末尾开始操作。字符串操作函数还有很多,记录一些遇到过的。



微信公众号同步更新内容,欢迎关注学习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值