字符串
字符串:用引号包围的一串字符
字符串表示
- 单行字符串用’ …. ‘即可
- 若表示多行字符,必须用”’ ……. ””表示
字符串常用方法
- 1.字符串相加(str1+str2)
str1 = 'asv'
str2 = 'hab'
str = str1 + str2
print(str)
结果:asvhab
- 2.字符串切片
str = 'abcdefg’
print(str[:]) '''打印str字符串,冒号前的数字代表从第几个字符开始打印,冒号后的数字代表结束的后一个字符,左开右闭'''
print(str[1:3])
结果:abcdef
bc
- 3.同时去掉字符串中的左右俩边转义字符
str = '\nI love Hl\n'
print(str.strip())
结果:I love Hl
- 4.去掉字符串右边的转义字符
str = 'I love Hl\n\t'
print(str.rstrip())
结果:I love Hl
- 5.去掉字符串左边的转义字符
str = '\t\nI love Hl'
print(str.rstrip())
结果:I love Hl
- 6.将字符串以某种字符分割存储到列表中
str = 'I love Hl'
print(str.split(" ",1) # 第二个参数为将字符串以一个空格为界限分为了俩个字符串
print(str.split(" ") # 第二个参数可以写,表示,以空格将字符串切分
结果:['I', 'love Hl']
['I', 'love', 'Hl']
- 7.字符串所有单词首字母大写
str = 'i love hl'
print(str.title())
结果:I Love Hl
- 8.字符串第一个单词首字母大写
str = 'i love hl'
print(str.capitalize())
结果:I love hl
- 9.使字符串全部大写
str = 'i love hl'
print(str.upper())
结果:I LOVE HL
- 10.使字符串全部小写
str = 'I LOVE HL'
print(str.lower())
结果:i love hl
- 11.指定字符串大小,原字符串外其余部分默认空格填充,也可指定字符
# (1)将原字符串居中
str = 'I LOVE HL'
print(str.center(20,'*'))
# (2)将原字符串左对齐
str = 'I LOVE HL'
print(str.ljust(20,'*'))
# (3)将原字符串右对齐
str = 'I LOVE HL'
print(str.rjust(20,'*'))
结果:(1)*****I LOVE HL******
(2)I LOVE HL***********
(3)***********I LOVE HL
- 12.获取字符串长度
str = 'I LOVE HL'
print(len(str))
结果:9
- 13.判断字符串在某个特定的位置或者结尾是否有某个字符串
str = 'I LOVE HL'
print(str.endswith(end='L'))
print(str.endswith('L',0,5))
结果:True
False
- 14.判断字符串在某个特定的位置或者开头是否有某个字符串
str = 'I LOVE HL'
print(str.startswith('I'))
print(str.startswith('L',0,5))
结果:True
False
- 15.获取字符串的最大(最小)字符
str = 'I LOVE HL'
print(max(str))
str = 'ILOVEHL'
print(min(str))
结果:V
E
- 15.替换字符串
str1 = 'I LOVE HL'
print(str1.replace('LOVE','like'))
#若有参数max,则可指定最多替换次数
str2 = 'I am 19 years old,I am a boy,I am a student'
print(str2.replace('I am','He is',2))
结果:I like HL
He is 19 years old,He is a boy,I am a student
16 .统计某字符或者某子字符串在原字符串中出现的次数
str = 'I am 19 years old,I am a boy,I am a student'
print(str2.count('I am'))
# 也可统计原字符串某范围内字符和子字符串出现的次数
str = 'I am 19 years old,I am a boy,I am a student'
print(str2.count('I am',0,10))
结果:3
1
17.获取字符或子字符串第一个字母在原字符串中或指定范围的字符串中第一次出现的下标
# 从左开始读取
# find和index用法几乎相同,但用index查找,如果不存在该字符或者该子字符串会报错,find则会返回-1
str = 'I am 19 years old,I am a boy,I am a student'
print(str.index('am'))
print(str.find('am')
# 从右开始读取
# rfind和rindex用法几乎相同,但用index查找,如果不存在该字符或者该子字符串会报错,find则会返回-1
str = 'I am 19 years old,I am a boy,I am a student'
print(str.rindex('years'))
print(str.rfind('am')
结果:# 从左开始读取
2
2
#从右开始读取
8
31
# 结果上说明,虽然从右开始读取,但下标的数值依旧是从左开始算,只是读取顺序从右开始
- 18.判断字符串中是否有数字或字母,并且为字母或数字字符串
# (1)字符串中至少有一个字符,且字符串中都为字母或者数字
str = 'I am 19 years old,I am a boy,I am a student'
print(str.isalnum())
# (2)字符串中中至少有一个字符,且字符串中都为字母
str = 'ILOVEHL'
print(str.isalpha())
# (3)字符串中只包含数字
str = '12345'
print(str.disgit())
print(str.isnumeric()) #isnumeric针对unicode对象,当str字符串数字为字节数字字符串时(如str = b'12345',为False),
# (4)字符串中只包含十进制字符
print(str.isdecimal()
# (5)字符串中只包含空白
str= " "
print(str.isspace())
结果:(1)False
(2)True
(3)True
True
(4)True
(5)True
- 19.将字符串中小写变为大写,大写变为小写
str = 'I Love Hl'
print(str.swapcase())
结果:i lOVE hL