一、字符串特性
- 字符串不可修改
- 有序的
- 可迭代的
二、字符串创建
- 单引号
- 三双引号或者三单引号
- 创建空字符串
三、字符串的操作
字符串的访问:通过索引访问,索引从0开始
test = ("adbcg","112asda",'221122',2)
print(test)
字符串的切片
语法:string【起始索引值 :结束索引值 :步长】
正序切片从0开始,步长默认是1 test[0:6:1]
倒序切片从-1开始,步长是-1 test[-7:-2:-1]
注意点:
- 步长不写默认为1
- 结束索引不写默认是字符串长度
- 起始索引不写默认是0
- 索引的取值左闭右开(包含起始索引值,不包含结束索引值)
- 步长前面为负(-)表示倒序切片,正(+)表示正序切片(+可以不写)
- 正序切片用正序索引,倒序切片用倒序索引
- 字符串空格也占一个索引位置
字符串反转:
test_str[::-1]
字符串与运算:
- 拼接 +
- 重复输出 *
字符串的转义
- \
- r
字符串的常用方法:
- 将所有的字母变成大写 upper
test_str = ('HHSHSnnnnns')
res = test_str.upper()
print(res)
- 将所有的字母变成小写 lower
test_str = ('HHSHSnnnnns')
res = test_str.lower()
print(res)
- 将字符串的首字母大写 capitalize
test_str = ('aHHSHSnnnnns')
res = test_str.capitalize()
print(res)
- 将字符串中大小写互换 swapcase
test_str = ('aHHSHSnnnnns')
res = test_str.swapcase()
print(res)
- 将字符串所有单词的首字母大写 title
test_str = ('aHHSHSnnn nns')
res = test_str.title()
print(res)
统计相关:
- 统计某个字符出现的次数 count
test_str = ('aHHSHSnnn nns')
res = test_str.count('H')
print(res)
- 统计长度 len
test_str = ('aHHSHSnnn nns')
print(len(test_str))
- 返回找到的第一个索引值 find
test_str = ('aHHSHSnnn nns')
res = test_str.find('S')
print(res)
- 返回找到的最后一个索引值 rfind
test_str = ('aHHSHSnnn nns')
res = test_str.rfind('S')
print(res)
判断相关:
- 判断字符串是否都是大写 isupper
test_str = ('aHHSHSnnn nns')
res = test_str.isupper()
print(res)
- 判断字符串是否都是小写 islower
test_str = ('aHHSHSnnn nns')
res = test_str.islower()
print(res)
- 判断字符串是否有字母或者数字 isalnum
test_str = ('aHHSHSnnn nns')
res = test_str.isalnum()
print(res)
- 判断是否是空格 isspace
test_str = ('aHHSHSnnn nns')
res = test_str.isspace()
print(res)
- 判断是否都是数字 isdigit
test_str = ('aHHSHSnnn nns')
res = test_str.isdigit()
print(res)
- 判断是否以指定的字符开头 starts with
test_str = ('aHHSHSnnn nns')
res = test_str.startswith("a")
print(res)
- 判断是否以指定的字符结尾 ends with
test_str = ('aHHSHSnnn nns')
res = test_str.endswith("a")
print(res)
字符串拆分:
参数 F:拆分字符 maxsplit(拆分次数) test.split('F',maxsplit=2)
注意点:
- 返回的是一个list
- 如果拆分字符不传,默认按空格进行拆分
- 拆分字符会被丢弃掉,不会再list中间
- 如果拆分字符是第一个,或者是最后一个,此时前后会增加一个空字符串
- 如果中间2个拆分字符连续出现,此时拆分的实话会出现一个空格
test_str = ('aFHHSHSFnnn F nns')
res = test_str.split("F")
print(res)
字符串的连接:
使用join
test_str = 'haahbbhhhcchddh'
test_str2="*"
res = test_str2.join(test_str)
print(res) #连接
print(test_str+test_str2) #拼接,收尾相连
字符串替换:
test_str = 'haahbbhhhcchddh'
res = test_str.replace('h','*',3)
print(res)
#old:需要替换掉的字符
#new: 需要放进去的字符
#count:替换次数,默认是全部替换
字符串成员运算:
in not in
test_str = 'haahbbhhhcchddh'
print( 'h' in test_str)
print( 'h' not in test_str)
字符串格式化:
- %s字符串占位符
price = "this phone is %s" %("100")
print(price)
- %d 数值占位符
price = "this phone is %d" %(100)
print(price)
- %f 浮点数占位符默认保留6位 %.2f 保留2位小数点
price = "this %.2f phone is %f" %(12.121,100.222)
print(price)
format:
- 按顺序取值
name = "my name is {} age is {}".format("隔壁老王",30)
print(name)
- 按索引取值
name = "my name is {1} age is {0}".format(30,"隔壁老王")
print(name)
- 按关键字取值
name = "my name is {name} age is {age}".format(age=30, name="隔壁老王")
print(name)
欢迎来到testingpai.com!
注册 关于