Python之字符串的基本操作-(1)
1. find():查找某个子串是否包含在该字符串中,如果在返回这个子串开始的位置下标,否则返回-1。
语法:
字符串.find(sub[,start[,end]])
其中:开始位置下标,结束位置下标可以省略,表示在整个字符串序列中查找。默认情况下start的值为0,end的值为字符串的长度
代码示例如下:
str = 'Rose, rose, I love you. Rose, rose, I fallin love with you.'
print(str.find('rose')) #6
print(str.find('rose', 10, 20)) #-1
print(str.find('rose', 20, 40)) #30
2.index():检索某个子串是否包含在该字符串中,如果在返回这个子串开始的位置下标,否则则报异常。
语法:
字符串.index(sub[,start[,end]])
rfind(sub[,start[,end]]):和find()功能相同,但查找方向从右侧开始。
rindex(sub[,start[,end]]):和index()功能相同,但查找方向从右侧开始。
代码示例如下:
str = 'Rose, rose, I love you. Rose, rose, I fallin love with you.'
print(str.index('rose')) #6
print(str.index('rose', 20, 40)) #30
print(str.index('rose', 10, 20)) #ValueError: substring not found
print(str.rfind('rose')) #30
print(str.rfind('rose', 10, 20)) #-1
print(str.rindex('rose')) #30
3. count():返回某个子串在字符串中出现的次数。
语法:
字符串.count(sub[,start[,end]])
print(str.count('rose')) #2
print(str.count('rose', 10, 20)) #0
print(str.count('rose', 10)) #1
4. replace(): 把字符串中的old字符串替换成new字符串,最终返回替换后的新字符串。
语法:
字符串.replace(old, new[,max])
注意:替换次数max如果超出子串出现的次数,则替换次数为该子串出现的次数。
print(str.replace('rose', 'python'))
print(str.replace('rose', 'python', 1))
print(str.replace('rose', 'python', 10))
print(str) #原字符串没有改变, 字符串是不可变类型
new_str = str.replace('rose', 'python')
print(new_str)
5. split():按照指定的分隔符对字符串进行切割,返回由切割结果组成的列表。
语法:
字符串.split(sep, maxsplit)
注意:
sep表示指定的分隔符,默认值为None;
maxsplit表示分隔符出现的次数,默认值为-1,表示不对切割次数做限制;
split()返回的列表是有maxsplit+1个元素组成的。
list1 = str.split(',')
print(list1)
list2 = str.split(',', 2)
print(list2)