⬅ 返回
1、编码
| 编码 | 作用 | 占用字节数 |
|---|
| ASCII | 表示英语及西欧 | 1字节 |
| GB2312 | 国家简体中文 | 2字节 |
| Unicode | 国际标准组织统一标准字符集 | 2字节 |
| GBK | GB2312的扩展字符集 支持繁体字 | 2字节 |
| UTF-8 | 不定长编码 | 1-3字节 |
2、编码转换
- 编码:str.encode()
把其他编码的字符串转换成Unicode编码
- 解码:str.decode()
把Unicode编码转换成其他编码的字符串
3、字符串运算符
| 操作符 | 描述 | 实例 |
|---|
| + | 字符串连接 | c=a+b |
| * | 重复输出字符串 | c=a*2 或 print(a*3) |
| [ ] | 通过索引获取字符串中的字符 | a[1] |
| [ : ] | 截取字符串中的一部分 | a[1:4] 字符串下标从0开始 左闭右开 |
| in | 成员运算符 | ’H’ in a |
| not in | 成员运算符 | ’H’ not in a |
| r/R | 原始字符串,无转义字符 | print(r”hello\nworld”) |
4、下标/索引
5、切片(截取)
[ 开始位置 : 结束位置 : 步长 ]
1、左闭右开
2、步长的绝对值大小决定切取的间隔,正负号决定切取方向
s = "abcdedghijklmn"
print(s[0:5]) # 输出 "abcde"
print(s[3:]) # 输出 "defghijklmn" --下表3开始输出到结尾
print(s[:3]) # 输出 "abc" --从开头输出到下表3(不包括下表3)
print(s[::2]) # 输出 "acegikmo" --步长为2,输出从开头到结尾的偶数位
print(s[::-1]) # 输出 "nmlkjihgfedcba" --步长为-1,输出从结尾到开头的逆序
6、字符串常见操作
6.1、find
- 功能:检测某个子字符串是否包含在字符串中,如果在就返回这个子字符串开始位置的下标,否则就返回-1。
- 基本格式:
s.find(子字符串,开始位置下标,结束位置下标)
#其中开始位置和结束位置下标可以省略,表示在整个字符串中查找。
#仍然遵循左闭右开
idx = s.find(sub_s)
idx = s.find('str')
idx = s.find('str',3) #从下标为3的位置开始找
idx = s.find('str',3,6) #在下标[3,5]内寻找 不包含右边界6
6.2、index
- 功能:检测某个子字符串是否包含在字符串中,如果在就返回这个子字符串开始位置的下标,否则就会报错,与find区分。
- 基本格式:
s.index(子字符串,开始位置下标,结束位置下标)
#其中开始位置和结束位置下标可以省略,表示在整个字符串中查找。
#仍然遵循左闭右开
idx = s.index(sub_s)
idx = s.index('str')
idx = s.index('str',3) #从下标为3的位置开始找
idx = s.index('str',3,6) #在下标[3,5]内寻找 不包含右边界6
6.3、count
- 功能:返回某个子字符串在整个字符串中出现的次数,没有出现就返回0
- 基本格式:
s.count(子字符串,开始位置下标,结束位置下标)
#其中开始位置和结束位置下标可以省略,表示在整个字符串中查找。
#仍然遵循左闭右开
num1 = s.count(sub_s)
num2 = s.count('str')
num3 = s.count('str',3) #从下标为3的位置开始找
num4 = s.count('str',3,6) #在下标[3,5]内寻找 不包含右边界6
6.4、replace
s.replace(旧内容,新内容,替换次数)
#替换次数可以省略,默认全部替换
s1 = s.replace('a','o')
s2 = s.replace('sss','ooo',1)
6.5、split
s.split(指定的分隔符)
#如果字符串中不包含分割内容,就不进行分割,会作为一个整体
s1 = s.split(',')
s2 = s.split(sub_s)
s3 = s.split('str')
7、字符串常见操作/判断
7.1、capitalize
- 功能:让字符串中的第一个字符大写,其他字符都为小写
- 基本格式:
s1 = s.s.capitalize()
7.2、startswith
- 功能:判断是否以某个字符串开头,是的话返回True
- 基本格式:
s.startswith(子字符串,开始位置下标,结束位置下标)
#其中开始位置和结束位置下标可以省略,表示在整个字符串中查找。
#仍然遵循左闭右开
b1 = s.startswith(sub_s)
b2 = s.startswith('str')
b3 = s.startswith('str',3) #从下标为3的位置开始找
b4 = s.startswith('str',3,6) #在下标[3,5]内寻找 不包含右边界6
7.3、endswith 是否以某字符结束
- 功能:判断是否以某个字符串结尾,是的话返回True
- 基本格式:
s.endswith(子字符串,开始位置下标,结束位置下标)
#其中开始位置和结束位置下标可以省略,表示在整个字符串中查找。
#仍然遵循左闭右开
b1 = s.endswith(sub_s)
b2 = s.endswith('str')
b3 = s.endswith('str',3) #从下标为3的位置开始找
b4 = s.endswith('str',3,6) #在下标[3,5]内寻找 不包含右边界6
7.4、lower
s1 = s.lower()
7.5、upper
s1 = s.upper()
7.6、isupper 检测字符串中所有的字母是否都为大写
7.7、islower 检测字符串中所有的字母是否都为小写