目录
字符串的定义
字符串的常用操作
查找特定字符串的下标索引值 index
字符串的替换 replace
字符串的分割 split
字符串的规整操作 strip
统计字符串中某字符串的出现次数 count
统计字符串的长度 len
字符串切片 [起始下标:结束下标:步长]
字符串的定义
和其它容器如:列表、元组一样,字符串也可以通过下标进行访问
从前向后,下标从0开始 ;从后向前,下标从-1开始
值得注意的是同元组一样,字符串是一个:无法修改的数据容器。所以有关字符串的任何修改操作都是错误的;
如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改
字符串的常用操作
查找特定字符串的下标索引值 index
my_str="ab cde fg 123"
num="0123456789"
print(my_str.index("fg"))
7
字符串的替换 replace
- 语法:字符串.replace(字符串1,字符串2)
- 功能:将字符串内的全部:字符串1,替换为字符串2
- 注意:不是修改字符串本身,而是得到了一个新字符串
my_str="about above"
new_str=my_str.replace("ab","AB")
print(my_str)
print(new_str)
about above
ABout ABove
字符串本身并没有发生变化,而是得到了一个新字符串
字符串的分割 split
- 语法:字符串.split(分隔符字符串)
- 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
- 注意:字符串本身不变,而是得到了一个列表对象
my_str="about above abandon abject"
new_str=my_str.split(" ")
print(my_str)
print(new_str)
print(type(new_str))
about above abandon abject
['about', 'above', '', '', '', 'abandon', 'abject']
<class 'list'>
可见,字符串按照给定的 <空格>进行了分割,变成多个子字符串,并存入一个列表对象中
值得注意的是,如果存在连续的分割符,会将所有的分割符去除,除第一个分割符外,其余n-1分割符生成n-1个空字符串(若分割符在第一个,则第一个分割符也生成空串)
my_str1="a"
my_str2="abaac"
new_str1=my_str1.split("a")
new_str2=my_str2.split("a")
print(new_str1)
print(new_str2)
['', '']
['', 'b', '', 'c']
字符串的规整操作 strip
语法:字符串.strip()(去前后空格)
my_str=" about above abandon abject "
new_str=my_str.strip()
print(my_str)
print(new_str)
about above abandon abject
about above abandon abject
语法:字符串.strip(字符串) (去前后指定字符串)
my_str="6a 1234567890 6a66baaab6a66ba6b"
new_str=my_str.strip("6ab")
print(my_str)
print(new_str)
6a 1234567890 6a66baaab6a66ba6b
1234567890
将前后含有字符串内容的字符去除,以不在字符串中的任意字符为分隔
统计字符串中某字符串的出现次数 count
my_str="about above abandon abject"
new_str=my_str.count("ab")
print(my_str)
print(new_str)
print(type(new_str))
about above abandon abject
4
<class 'int'>
每个字符只能算一次
my_str="a6aa6aa6aa"
new_str=my_str.count("a6aa")
print(my_str)
print(new_str)
a6aa6aa6aa
2
统计字符串的长度 len
数字(1、2、3...)
字母(abcd、ABCD等)
符号(空格、!、@、#、$等)
中文(文字和符合)
都算1个字符长度
my_str="123#$%^wdkj哈哈是 ~!、E(?/"
print(len(my_str))
22
字符串切片 [起始下标:结束下标:步长]
切片:从一个序列中,取出一个子序列
语法:序列[起始下标:结束下标:步长]
此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)
起始下标与结束下标为左闭右开区间 [左,右) #注意不是[始,末)
my_str="0123456789"
print(my_str[:])#从头开始,到最后结束,步长1
print(my_str[1:5:1])#下标1开始,下标5(不含)结束,步长1
print(my_str[:4:2])#从头开始,到下标4(不含)结束,步长2
print(my_str[::2])#从头开始,到最后结束,步长2
print(my_str[::-1])#从头(最后)开始,到尾结束,步长-1(倒序)
print(my_str[6:1:-1])#从下标6开始,到下标1(不含)结束,步长-1(倒序)
print(my_str[:1:-2])#从头(最后)开始,到下标1(不含)结束,步长-2(倒序)
0123456789
1234
02
02468
9876543210
65432
9753
编号 | 操作 | 说明 |
1 | 字符串[下标] | 根据下标索引取出特定位置字符 |
2 | 字符串.index(字符串) | 查找给定字符的第一个匹配项的下标 |
3 | 字符串.replace(字符串1, 字符串2) | 将字符串内的全部字符串1,替换为字符串2 不会修改原字符串,而是得到一个新的 |
4 | 字符串.split(字符串) | 按照给定字符串,对字符串进行分隔 不会修改原字符串,而是得到一个新的列表 |
5 | 字符串.strip() 字符串.strip(字符串) | 移除首尾的空格和换行符或指定字符串 |
6 | 字符串.count(字符串) | 统计字符串内某字符串的出现次数 |
7 | len(字符串) | 统计字符串的字符个数 |