1、字符串创建、查找、选取、运算和转换
1、Python 查找字符串使用成员函数find
查找到后会返回目标字符串首个 字符所在的位置,位置从0开始算,如果没找到则返回-1
str = 'good,good,study, Asher'
toFind = 'Asher'
str1 = str
index = 0
print(str1.find('s', 1, 10))
print(str1.find('s', 1, 20))
while (str1.find(toFind) > 0):
index += str1.find(toFind)
print('找到子串在位置:', index) # 找到子串在位置: 17
index += 7
str1 = str1[index :]
find():第一个参数为子串,第二个位置为起始位置,第三个位置为终止位置
运行结果如下:
-1
10
找到子串在位置: 17
另外几种查找方式:index(),in,max(),min(),len()
str = 'my name is ivan'
print(str.find('name')) # 查找位置(不在返回-1)
print(str.index('name')) # 查找位置(不在报异常) ,返回值和find一致
print('ivan' in str) # 有该字符串吗,返回true / false
print(len(str)) # 长度
print(max('ABCabc')) # 找ASCII码最大的字符(小写的)
print(min('ABCabc')) # 找ASCII码最小的字符
运行结果:

2、字符串替换 使用replace方法
# 字符串替换 使用replace方法
str = 'good,good,study, Asher'
replace = 'searching'
str2 = str.replace('study', replace)
print('替换后', str2) # 替换后
replace():第一个参数为被替换的子串,第二个参数为替换后的子串
运行结果:
替换后 good,good,searching, Asher
3、字符串创建:原字符串是不可变的, String对象的方法改变的是新的字符串
str="hello world"
str[2]='w' # 报错:字符串是不可变的,只读,不能通过str[2]='w' 的方式更改内容。
print(str)
4、字符串的选取
str='time:2016-ivan'
print(str[1]); # 选取指定位置的字符
print(str[5:9]) # 选取第5个到第9个间的字符(不包括9)
print(str[5:])
print(str[:-2]) # 到倒数第三个字符为止
print(str[:9])
print(str[-4:]) # 选取倒数第4个字符开始,直到结束的字符
运行结果:

5、字符串的运算
str1 = 'my name '
str2 = 'is ivan '
date = '2016.11.30 '
print(str1+str2+date) # 拼接
print(str1*2) # 复制
运行结果:

6、字符串的转换
print('Hello'.upper()) # 变大写
print('Hello'.lower()) # 变小写
# 列表和分隔符 平滑切换
print('chengdu-2016-ivan'.split('-')) # 去掉分隔符 -> 转换为列表
print('-'.join(['hello','baby','2018'])) # 加分隔符 -> 列表转换为字符串
str='ivan2016 yzg2016';
print(str.replace('2016', '')) # 替换 -> 删除第一个数字2016
运行结果:

2、reverse函数与分片
注意:reversed()函数返回的是一个迭代器,而不是一个List
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 使用reversed()
# 注意:reversed()函数返回的是一个迭代器,而不是一个List,
# 需要再使用list函数转换一下。
b = list(reversed(a))
print("b: ", b)
运行结果:
b: [9, 8, 7, 6, 5, 4, 3, 2, 1]
分片
# Python的分片操作含左不含右
c = a[3:6] # 起始位置是0,所以3位置对应的是4
print("c: ", c)
# 开始2,终止8,步长2
d = a[2:8:2]
print("d: ", d)
# 其中[::-1]代表从后向前取值,每次步进值为1
e = a[::-1]
print("e: ", e)
[2:8:2]:开始2,终止8,步长2
[::-1]:代表从后向前取值,每次步进值为1
运行结果:
c: [4, 5, 6]
d: [3, 5, 7]
e: [9, 8, 7, 6, 5, 4, 3, 2, 1]
本文介绍了Python中字符串的创建、查找方法(find,index,in等),替换(replace)功能,以及字符串的不可变性、选取、运算和转换技巧,如大写小写转换、列表分隔符处理和分片操作。
3800

被折叠的 条评论
为什么被折叠?



