Python - 数据容器str(字符串)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
字符串的定义
和其它容器如列表、元组一样字符串也可以通过下标进行访问
从前向后下标从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(字符串) | 统计字符串的字符个数 |