字符串常见操作
- s.find(sub): 返回该元素最小的索引。
- s.index(sub): 返回该元素最小的索引。
- s.replace(old,new[,count]): 替换。
- s.split(sep=None): 以sep来分割字符串,并返回列表。sep默认为None,分割默认为空格。
- s.startswith(prefix [,start[,end]]): 判断字符串是否以前缀开始,返回bool值。
- s.endswith(suffix [,start[,end]]): 判断字符串是否以尾缀结束,返回bool值。
- s.lower(): 将字符串全部转为小写。
- s.upper(): 将字符串全部转为大写。
- s.strip([chars]): 默认去掉字符串左右的空格。
- s.isalpha(): 判断字符串是否全为字母,返回bool值。
- s.isdigit: 判断字符串是否全为数字,返回bool值。
- s.isalnum(): 判断字符串是否全为数字或者字母,不存在特殊字符,返回bool值。
- s.join(iterable): 将序列中的元素以指定的字符连接生成一个新的字符串。
pycharm中访问方法及s.find(sub)使用返回最小索引数
输入方法名字后,mac系统中使用 “command + 左击”点击方法名称会跳出说明页面。(如图所示:)
其中:页面名称builtins.py代表内置模块。是python解释器自带的。
def代表方法。
三引号内为解释文档:
文档中:s.find(sub[,start[,end]])中开头的s.的s(str)代表字符串。
sub是必须要传的参数。而方括号内的start和end为可选参数,可以传也可以不传。
返回类型为整数类型。
返回该元素最小的索引位置。
举例:hello python中返回e的最小索引
o的索引:返回位置为4(因为是最小位置)
如果是没有的元素(查询失败):返回-1
find 和 rfind区别
find是从左往右开始索引
rfind是从右往左开始索引
s.index(sub)使用,返回最小索引数
- List item和s.find都是元素最小索引位置。
- find出现查询失败(该元素并不存在子字符串中时)会显示-1
而index会报错。无法继续执行。
从左往右为index。从右往左为rindex。
s.replace(old,new): 替换
比如 “hello oldoldamy”
将old替换成beautiful
s.replace(old,beautiful)【全部替换】
得到的返回结果:
因为原字符串中有两个old。
直接将两个old全部替换成了beautiful。所以得到了两个beautiful。
如果需要一个beautiful和一个old:
s.replace(old,beautiful,1)替换了第一个
得到:hello beautifuloldamy
s.replace(old,beautiful,2)全部替换了
【因为有两个old】
s.replace(old,new[,count]):count代表替换次数。不填默认为全部替换。
注意:原字符串并没有被改变替换。
比如 s=old
print(s.replace(“o”,“y”))得到的结果为yld
这时候print(s)得到的还是old。
如果要将old old中的后面一个old替换需要使用“正则方法”(后期再教)
s.split(sep=None)分割字符串以列表形式返回
比如:“hello everybody yeyeye”
s1 = “hello everybody yeyeye”
print(s1.split(" "))
打印得到结果:[‘hello’, ‘everyboby’, ‘yeyeye’]
s1中的空格字符串消失了,返回为列表。
如果以e为分割
s.startswith(prefix)以及s.endswith(suffix )判断字符串是否以前缀开始或者后缀结束,皆返回bool值
用于判断字符串以什么开始返回bool。
比如:s1 = “hello everybody yeyeye”
检测是否以h为开头
print(s1.startswith(“h”))打印得到结果:True
“he”“hel”等都可以得到True
但是如果时“hew”就得到False
用于判断字符串以什么尾缀结束
ptint(s1.endswith(“ey”))得到打印结果为:False 因为少了e。
ptint(s1.endswith(“eye”))得到打印结果为:True 。

s.lower()、s.upper()将字符串全部转为小写或大写
比如:
将s1=“n”转换为N
print(s1.upper())
s2="Y"转换为y
print(s2.lower())
连式调用:
s.upper().lower()
s.strip()去掉字符串首部和尾部空格
如图所示可以看到:一代明君的“一”和“君”前后有空格,打印输出后,“一”顶格输出了“君”后面的空格也去除了。
中间有空格,去除中间空格可以用s.replace
print(s.replace(" ", “”)
s.join(iterable)将整个字符串按照迭代内容进行每个元素提取拼接,形成新字符串
注意:字符串是序列,可以一个个取出它的子元素,当可以一个个取出它的元素时候就可以迭代。(用下标)
整数是一个整体不能一个个取出所以不可以迭代。
说明中(iterable):iterable就代表可迭代。
比如:“你好”。想要实现“你 好”
s8 = “你好”
print(" ".join(s8))
注意点!!如果需要每个元素都进行拼接可以直接使用join入下图所示:
列表也是可迭代对象: