python字符串的常见操作,下标,切⽚
字符串的表⽰⽅式
a ="I'm Tom"# ⼀对双引号
b ='Tom said:"I am Tom"'# ⼀对单引号
c ='Tom said:"I\'m Tom"'# 转义字符
d ='''Tom said:"I'm Tom"'''# 三个单引号
e ="""Tom said:"I'm Tom" """# 三个双引号
注意这⾥的""“x “”” ‘’‘x ‘’’ 本来是表⽰注解, 但是⼀旦⽤⼀个变量接收的话, 就会变成字符串, 并且可以随意的使⽤回车键,参考注释的使⽤情况
同时要注意转义字符的使⽤,⽐如c中额 i’m 中间就有⼀个\ 是为了输出’
双引号或者单引号中的数据,就是字符串
如果使⽤⼀对引号来定义字符串,当出现符号冲突时可以使⽤转义字符
使⽤三个单引号、双引号定义的字符串可以包裹任意⽂本
转义字符
\r将当前位置移到本⾏开头
\n将当前位置移到下⼀⾏开头
\t⽤来表⽰⼀个制表符
\\代表⼀个反斜线字符\
’⽤来显⽰⼀个单引号
"⽤来显⽰⼀个双引号
注意转义字符就是\ (右斜杠)
下标和切⽚
下标
所谓“下标”⼜叫“索引”,就是编号,注意下标的标号从0开始哦, 0 1 2 3 4
只不过字符串的索引是从0开始的
所以字符串的最⼤索引值永远是长度-1
字符串的取值是根据索引获取格式字符串名[索引值]
name ='abcdef'
print(name[0])
print(name[1])
print(name[2])
遍历
所谓遍历,可以理解为按照⼀定的规则(⼀般情况下就是数据的下标),访问每⼀个数据。不是所有的数据都能够被遍历,字符串是可迭代对象,能够进⾏遍历
遍历就是吧这个字符串或者是这个啥玩意的⾥⾯的东西全部⼀个⼀个的输出来。⽐如下⾯的两句代码
#while语句遍历:
s ='hello world'
i =0
while i <len(s):
print(s[i])
i +=1
isalpha 函数#for语句便利
msg ='hello world'
for x in msg:
print(x)
切⽚
就是把⼀个字符串中的某⼀段拿出来
切⽚是指对操作的对象截取其中⼀部分的操作。字符串、列表、元组都⽀持切⽚操作。
切⽚的语法:[起始:结束:步长],也可以简化使⽤ [起始:结束],甚⾄于都可以省略到只有⼀个分号 :
注意快速取反哦
# 切⽚是⼀个半开区间包头不包尾
# 索引是通过下标取某⼀个元素
# 切⽚是通过下标去某⼀段元素
# 需要重点记忆两个语法
# [:] 截取全部
# [::-1] 字符串的反转
s ='Hello World!'
print(s)
print(s[4])# o 字符串⾥的第4个元素
print(s[3:7])# lo W 包含下标 3,不含下标 7
print(s[:])# Hello World! 取出所有元素(没有起始位和结束位之分),默认步长为1
print(s[1:])# ello World! 从下标为1开始,取出后⾯所有的元素(没有结束位)
print(s[:4])# Hell 从起始位置开始,取到下标为4的前⼀个元素(不包括结束位本⾝)
print(s[:-1])# Hello World 从起始位置开始,取到倒数第⼀个元素(不包括结束位本⾝)快速取反
print(s[-4:-1])# rld 从倒数第4个元素开始,取到倒数第1个元素(不包括结束位本⾝)
print(s[1:5:2])# el 从下标为1开始,取到下标为5的前⼀个元素,步长为2(不包括结束位本⾝)
print(s[7:2:-1])# ow ol 从下标为7的元素开始(包含下标为7的元素),倒着取到下标为2的元素(不包括下标为2的元素) # python 字符串快速逆置
print(s[::-1])# !dlroW olleH 从后向前,按步长为1进⾏取值
字符串的常见操作
字符串的判断:(*越多越常见)
***startswith 判断⼤串是否是以某个⼩串为开头如果是返回True如果不是返回False
***endswith 判断⼤串是否是以某个⼩串为结尾
**isalpha 判断字符串是否为纯字母(汉字有出⼊)
**isdigit 判断字符串是否为纯数字
**isalnum 判断字符串是否为数字和字母组成除了数字和字母其他出现就报错
**isspace 判断字符串是否全部为空格
""叫空串" "就是有了⼀个空字符的字符串,不是空串
*****count 求⼩串在⼤串中出现的次数
*****replace ⽤新串替换旧串可以指定替换次数
*****split 根据指定字符串对原串进⾏切割操作切割完之后的返回值是列表[]
如果⼤串中包含⼩串正常切割如果不包含就直接把整串存⼊到列表中
***title 将字符串中的每个单词的⾸字母变为⼤写
****lower 将字符串中的所有字母变为⼩写
****upper 将字符串中的所有字母变为⼤写
****strip 去除两端空格
**join 字符串的拼接
长度
len()函数
s ="123465798abc"
print(len(s))#输出为12 ss就有12个字符
⽅法:需要调⽤
查
1. find find(“⽬标字符串”, start, end)
未到时,返回-1
2. rfind 和find差不多,不过是从右边开始的
3. index indes(“⽬标字符串”, start, end)
跟find()⽅法⼀样,只不过,find⽅法未到时,返回-1,⽽str未到时,会报⼀个异常。
4. rindex 和index差不多,不过是从右边开始的
ss ="woainilvxinyaorreereerrerlvxinyaoluxinyaoxinyaoxinyao"
print(ss.find("xinyao",1,4))#find("⽬标字符串", start, end)
#find 到范围区间内的第⼀个⽬标值的下标 ,若⽬标范围内没有,则返回-1,
s ="你是个⼤汉⼦⼦"
print(s.find("⼦"))
print(s.rfind("⼦"))#注意这两个的区别.运⾏⼀下就知道了
print(s.index("⼤"))#index
判断
注意要调⽤
start和end可以省略
1. startswith(“⽬标⽂本”,start , end)
判断字符串是否以指定内容开始
2. endswith(“⽬标⽂本”)
判断字符串是否以指定内容结束。
3. isalpha()
判断字符串是否是纯字母。
4. isdigit()
判断⼀个字符串是否是纯数字,只要出现⾮0~9的数字,结果就是False.
5. isalnum()
判断是否由数字和字母组成。只要出现了⾮数字和字母,就返回False.
6. isspace()
如果 mystr 中只包含空格,则返回 True,否则返回 False.
s5 ="你是个⼤汉⼦⼦"
print(s5.startswith("你是个"))# T 指定内容开始
dswith("⼤汉⼦"))# F 指定内容结束
print(s5.isalpha())# T 纯字母
s1 ="python"
print(s1.isalpha())# T 纯字母
s2 ="123456789bb"
print(s2.isalpha())# F 纯字母
s3 ="=-*/-!@$#%"
print(s3.isalpha())# F 纯字母
s ="123465798abc"
print(s.isdigit())# F 纯数字
print(s.isalnum())# T ⾮数字和字母
s4 =" "
print(s4.isspace())# T 全空格
计算出现次数
返回 str在start和end之间 在 mystr⾥⾯出现的次数。
语法格式:
count("⽬标⽂本", start, end)# 注意要调⽤
⽰例:
mystr ='今天天⽓好晴朗,处处好风光呀好风光'
unt('好'))# 3. '好'字出现三次
# 计算出s中python这个单词出现了多少次,,不⽤count函数
s ="woaipythonhenaipythonfeichanppppppppppppythonpythonzhenbang"
# 定义⼀个计数器
count1 =0
# 先去到第⼀次出现的位置
index1 = s.find("ppp")
# 判断该位置是否等于-1 因为如果等于-1 证明该字符串中不存在python这个⼦串
while index1 !=-1:
count1 +=1
index1 = s.find("ppp", index1 +len("ppp"))
print(count1)
替换
替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。
# .replace("需要替换的⽂本","替换的⽂本")
mystr ='今天天⽓好晴朗,处处好风光呀好风光'
newstr = place('好','坏')
print(mystr)# 今天天⽓好晴朗,处处好风光呀好风光原字符串未改变!,
print(newstr)# 今天天⽓坏晴朗,处处坏风光呀坏风光得到的新字符串⾥,'好'被修改成了'坏' newstr = place('好','坏',2)# 指定了替换的次数
print(newstr)# 今天天⽓坏晴朗,处处坏风光呀好风光只有两处的'好'被替换成了'坏'
内容分割
1. split 调⽤ .split(“⽤啥字符当分隔符”)
返回的结果是⼀个列表
2. rsplit .rsplit(“⽤啥字符当分隔符”)
⽤法和split基本⼀致,只不过是从右往左分隔。
3. splitlines
按照⾏\n分隔,返回⼀个包含各⾏作为元素的列表。(鸡肋的功能吧)
4. partition
把mystr以str分割成三部分,str前,str和str后,三部分组成⼀个元组
5. rpartition
类似于 partition()函数,不过是从右边开始.
修改⼤⼩写
这个功能只对英⽂有效果
⾸字母⼤写capitalize 字符串.capitalize()
每个单词的⾸字母⼤写title 字符串.title
全⼩写lower 全⼤写upper. 字符串.lower 字符串.upper
空格处理
要调⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论