一、字符串是一种数据容器
字符串不同于列表、元组,列表、元组可以存放不同类型的数据,而字符串仅仅是字符的容器,一个字符串可以存放任意数量的字符。
关于字符串的定义等详细内容:http://t.csdnimg.cn/tCj05
二、字符串的下标索引
与列表、元组等其它容器一样,字符串可以通过下标进行访问。
我们可以通过下标索引,取出特定位置的元素,如下列代码所示:
str1="apple"
print(str1[0])
print(str1[1])
print(str1[-1])
print(str1[-2])
输出:
a
p
e
l
下标越界会发生报错:
str1="apple"
print(str1[5])
运行:
三、字符串的方法
同元组一样,字符串是一个无法修改的数据容器,如果必须要修改字符串,只能得到一个新的字符串,旧的字符串无法修改。
字符串的功能包括:查找特定字符串的下标索引值、字符串的替换、字符串的分割、字符串的规整操作、统计字符串中某字符串的出现次数、统计字符串的长度。
3.1查找特定字符串的下标索引值
语法:字符串.index(特定字符串)
功能:返回特定字符串的下标索引值
具体应用:
str2='my heart go on'
print(str2.index('go'))
输出:
9
3.2字符串的替换
语法:字符串.replace(字符串1,字符串2)
功能:将字符串内的全部字符串1,替换为字符串2
具体应用:
str2='my heart go on'
new_str2=str2.replace('my','我的')
print(str2)
print(new_str2)
输出:
my heart go on
我的 heart go on
注意:字符串str2本身并没有发生变化,而是得到了一个新的字符串new_str2。
3.3字符串的分割
语法:字符串.split(分隔符字符串)
功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
具体应用:
str2='my heart go on'
list1=str2.split(' ')#按空格进行分割
print(str2)
print(list1)
输出:
my heart go on
['my', 'heart', 'go', 'on']
注意:字符串本身不变,而是得到了一个列表对象。
3.4字符串的规整操作
3.4.1去前后空格
语法:字符串.strip()
功能:去前后空格
具体应用:
str2=' my heart go on '
print(str2.strip())
print(str2)
print(str2.strip())
输出:
my heart go on
my heart go on
my heart go on
注意:没有真正改变字符串。
3.4.2去前后指定字符串
语法:字符串.strip(指定字符串)
功能:去前后指定字符串
具体应用:
str2='yomy heart go onoy'
print(str2.strip('yo'))
print(str2)
print(str2.strip('oy'))
输出:
my heart go on
yomy heart go onoy
my heart go on
注意:没有真正改变字符串。并且传入的是"yo" 其实就是:"y"和"o"都会移除,是按照单个字符,但是必须连续。
3.5统计特定字符串个数
语法:字符串.count(字符串)
功能:统计特定字符串在整个字符串中的出现次数
具体应用:
str2='my heart go go go on'
print(str2.count('go'))
输出:
3
3.6统计字符串的长度
语法:len(字符串)
功能:统计字符中字符的个数(包括空格)
具体应用:
str2='my heart go on'
print(len(str2))
输出:
14
四、字符串的遍历
4.1用while循环遍历字符串
str2='my heart go on'
i=0
while i<len(str2):
print(str2[i],end='')#输出不换行
i+=1
输出:
my heart go on
4.2用for循环遍历字符串
str2='my heart go on'
for i in str2:
print(i,end='')
输出:
my heart go on
五、字符串的特点
- 只可以存储字符串
- 长度任意(取决于内存大小)
- 支持下标索引 (正向,反向)
- 允许重复字符串存在
- 不可以修改(不可以增加、删除、修改元素)