当前位置:首页 >> 脚本专栏

python字符串的index和find的区别详解

1.find函数

find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

string='abcde'
x=string.find('a')
y=string.find('bc')
z=string.find('f')
print(x)
print(y)
print(z)
#运行结果
0
1
-1

2.index函数

index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

string='abcde'
x=string.index('a')
y=string.index('bc')
#z=string.index('f')
print(x)
print(y)
#print(z)
0
1
ValueError: substring not found

3.join 函数

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

lis=['a','b','c','d','e']
string='abcde'
tup=('a','b','c','d','e')
print(''.join(lis))
print(' '.join(string))
print('$'.join(tup))
#运行结果
abcde
a b c d e
a$b$c$d$e

注意序列里的元素必须是字符串,不能是数字

4.split函数

split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。

str.split(str="", num=string.count(str))

string='this is an interesting story!'
a=string.split()
b=string.split(' ',2)
c=string.split('s')
d=string.split(',')
print(a)
print(b)
print(c)
print(d)
#运行结果
['this', 'is', 'an', 'interesting', 'story!']
['this', 'is', 'an interesting story!']
['thi', ' i', ' an intere', 'ting ', 'tory!']
['this is an interesting story!']

5.strip函数

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

string='**this is an ***interesting story!***'
a=string.strip('*')
b=string.lstrip('*')
c=string.rstrip('*')
print(string)
print(a)
print(b)
print(c)
#运行结果
**this is an ***interesting story!***
this is an ***interesting story!
this is an ***interesting story!***
**this is an ***interesting story!

lstrip和rstrip分别去掉左边和右边的指定字符。