⬅ 返回

1、编码

编码作用占用字节数
ASCII表示英语及西欧1字节
GB2312国家简体中文2字节
Unicode国际标准组织统一标准字符集2字节
GBKGB2312的扩展字符集 支持繁体字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 检测字符串中所有的字母是否都为小写