字符串的方法
count
count 方法可以返回字符串对象包含了多少个参数指定的字符串
print('我们今天不去上学,我们去踢足球'.count('我们'))
结果:2
find
find 方法 会在字符串中查找 参数 子字符串,并返回该 参数字符串 在其中 第一个
出现的位置索引
str1 = '我们今天不去上学,我们去踢足球'
# 返回 0 , str1字符串中有两个 '我们'
# find返回的是第一个 '我们' 的索引 0
print(str1.find('我们') )
结果:0
如果字符串对象里面 没有
要查找的参数字符串,就会返回 -1
find 方法 的第二个参数,用来指定查找字符串范围,比如
str1 = '我们今天不去上学,我们去踢足球' # 第2个参数 5, 表示从 索引 5 的位置开始往后查找 # 返回的是后面 我们 的索引 9 print(str1.find('我们',5) )
结果:9
split、splitlines
split 是我们常用的方法,经常用来从字符串中 截取 出我们想要的信息。
split 方法以参数字符串为分割符 ,将字符串 切割为多个 字符串,作为元素存入一个列表,并返回这个列表。
str1 = '小张:79 | 小李:88 | 小赵:83' pos1 = str1.split('|') print(pos1)
结果:['小张:79 ', ' 小李:88 ', ' 小赵:83']
不一定非要用 竖线分割, 我们可以指定任何其他的分隔符来分割字符串
字符串对象还有一个 splitlines() 按照行界符('\r', '\r\n', \n'等)分隔,返回一个包含各行作为元素的列表,默认不包含行界符。
join
join 方法和 split方法正好相反
split 是将字符串, 以 某字符串 为界, 切割 成多个字符串, 存入列表
join 是将列表中的字符串元素 以某字符串为连接符, 连接 为一个字符串 比如
print('|'.join([ '小张:79 ', ' 小李:88 ', ' 小赵:83' ]))
结果:小张:79 | 小李:88 | 小赵:83
连接两个字符串也可以用join
'小赵'.join([ '小张:79 | 小李:88 | ', ':83' ]) #返回的就是字符串 '小张:79 | 小李:88 | 小赵:83'
strip 、 lstrip 、 rstrip
strip方法可以将 字符串前面和后面的空格删除,但是不会删除字符串中间的空格
print(' 小 李:88 '.strip())
结果:小 李:88
lstrip方法 将 字符串前面 (左边) 的空格删除,但是不会删除字符串中间和右边的空格
print(' 小 李:88 '.lstrip())
结果:小 李:88
rstrip方法 将 字符串后面 (右边) 的空格删除,但是不会删除字符串中间和左边的空格
print(' 小 李:88 '.rstrip())
结果: 小 李:88
replace
replace 也是常用的方法,用来 替换 字符串里面 所有指定的 子字符串 为另一个 字符串
str1 = '我们今天不去上学,我们去踢足球'
str2 = str1.replace('我们', '他们')
print(str1)
print(str2)
结果:
我们今天不去上学,我们去踢足球
他们今天不去上学,他们去踢足球
startswith 和 endswith
startswith 方法检查字符串是否以参数指定的字符串 开头,如果是,返回True,否则返回False
endswith 方法检查字符串是否以指定的字符串 结尾,如果是,返回True,否则返回False
str1 = '我们今天不去上学,我们去踢足球' print(str1.startswith('我们') ) # 返回 True print(str1.endswith('我们')) # 返回 False
结果:
True
False
isdigit
isdigit 方法检查字符串是否全部由数字构成,如果是,返回True,否则返回False
比如,可以通过 isdigit 判断用户输入的电话号码是否全部是数字字符
str1 = input('请输入手机号码:') if not str1.isdigit(): # 不是全部由数字字符构成 print('您输入的手机号码不正确,必须全部是数字')