1.字符串的创建
可以通过以下方法创建字符串:
s1 = str()
s1 = srt(“welcome”)
s2 = “”
s2=“welcome”
注意:一个字符串对象 是不可变的:一旦创建一个字符串对象出来, 那么它的内容就不会再改变。
2.对字符串的处理
2.1使用下标查看
一个字符串是一一个字符序列。可以使用下面的语法通过下标运算符访问字符串中的一个字符。
>>> s1 = "welcome"
>>> type(s1)
<class 'str'>
>>> s1
'welcome'
>>> s1[2]
'l'
2.2字符串常用方法
方法 | 作用 |
---|---|
capitalize | 字符串首字母大写 |
center | 将字符串居中,center(10,*)第一个参数代表居中位置,第二个参数代表填充方式 |
count | 统计字符串中出现该字符出现的次数 |
encode | 将字符串转换为编码,建议使用UTF-8,在各种系统下不会乱码 |
decode | 将编码按照编码格式进行解码,转化为字符串 |
endswith | 判断字符串是否以传入参数结尾 |
startswith | 判断字符串是否以传入参数开头 |
find | 查找字符串中某个字符第一次出现的位置 |
rfind | 查找某个字符最后一次出现的位置 |
index | 功能同find,但是如果不存在会报错 |
rindex | 查找最后一个 |
format | 格式化字符串 |
join | 用于拼接字符串,"-".join(可迭代对象) |
split | 字符串.split(" "),按空格分隔字符串 |
rsplit | 同上分割字符串,从后向前 |
lower | 将字符串转小写 |
upper | 将字符串转大写 |
title | 字符串中的每个单词首字母大写 |
strip | 清除字符串两边的空格 |
rstrip | 清除字符串右边的空格 |
lstrip | 清除字符串左边的空格 |
replace | 替换字符串,str.replace(旧字符串,新字符串,最大替换次数(可选)) |
2.3字符串的切片(截取)
2.3.1正向切片
语法:
s[start : end :step]
#从下标start开始,截取到end-1,step是步长,用来控制截取的每个字符下标的间隔,默认为1。step的正负用来控制截取反向,正值从前向后,负值表示从后向前截取。
>>> s = "welcome to python"
>>> s
'welcome to python'
>>> s[1:3]
'el'
语句中的参数可省略,有以下几种:
s[start : end ] #省略步长,默认为1 。
>>> s
'welcome to python'
>>> s[0:5]
'welco'
s[ : end :step] #省略start,从第一个字符,即下标0开始截取到end-1。
>>> s[:6:1]
'welcom'
s[start : :step] #省略end,从start开始截取到最后一个字符。
>>> s[3::1]
'come to python'
s[ : :step] #省略start与end,从第一个字符,即下标0开始,以步长step截取到最后一个字符。
>>> s[::1] #以步长1截取
'welcome to python'
>>> s[::2] #以步长2截取
'wloet yhn'
s[ : ] #截取全部
>>> s[::]
'welcome to python'
s[start : -end : 1]
>>> s[1:-2:]
'elcome to pyth'
>>> s.rfind("h")
14
注意:
当end为负数时,最后一个字符串的下标为len(s)+end-1。
2.3.2 逆向切片
逆序截取时,字符串中每个字符下标从最后一个开始向左依次为-1,-2,-3 ······ -n,逆序的用法与正向切片基本一致,但要注意“起点”和“终点”的值的设置要与截取方向保持一致:
>>> s
'welcome to python'
>>> s[-1:-7:-1]
'nohtyp'
>>> s[-1:2:-1]
'nohtyp ot emoc'
上例中,step = -1,表示反向截取,"star"与"end"的值也表示“从右向左”。
但要注意,以下例子是不行的:
>>> s
'welcome to python'
>>> s[1:-7:-1]
''
>> s[11:-2:-1]
''
>>> s[1:10:-1]
''
注意到,上述错误示例错误之处在于,“起点”start与“终点”end的“方向”与“步长”step的“截取方向”是相反的!!!