字元串的查找
字元串的查找主要應用于查找子字元串在主字元串中出現的位置或出現的次數。使用的函數有find()、index()、rfind()、rindex()、count()。
1.1、find函數的使用
find函數:從左邊開始查找子字元串是否存在于主字元串開始下标到結束下标中,如果存在則傳回子字元串第一次出現位置的開始位置下标,如果不存在則傳回-1。注意開始下标和結束下标可以省略。當開始下标省略時,開始下标預設為0。當結束下标省略時,結束下标預設為字元串長度。
基本文法:
主字元串名稱.find('需要存在的子字元串', 開始下标, 結束下标)
在python中的運用:
str1 = '尤利西斯 梅雪 雲希 克裡斯汀娜 梅' # 建立主字元串
# find函數運用
s1 = str1.find('尤利西斯', 0, 10) # 完整寫法
s2 = str1.find('梅', 0) # 省略結束下标
s3 = str1.find('雲希') # 省略開始下标和結束下标
s4 = str1.find('每') # 子字元串不存在
# 輸出結果
print(s1)
print(s2)
print(s3)
print(s4)
運作之後的結果結果:
s1 = 0
s2 = 5
s3 = 8
s4 = -1
1.2、index函數的使用
index函數:從左邊開始查找子字元串是否存在于主字元串開始下标到結束下标中,如果存在則傳回子字元串第一次出現位置的開始位置下标,如果不存在則報錯。注意開始下标和結束下标可以省略。當開始下标省略時,開始下标預設為0。當結束下标省略時,結束下标預設為字元串長度。
基本文法:
主字元串名稱.index('需要存在的子字元串', 開始下标, 結束下标)
在python中的運用:
str1 = '尤利西斯 梅雪 雲希 克裡斯汀娜 梅' # 建立主字元串
# index函數運用
s1 = str1.index('尤利西斯', 0, 10) # 完整寫法
s2 = str1.index('梅', 4) # 省略結束下标
s3 = str1.index('雲希') # 省略開始下标和結束下标
# 報錯
# s4 = str1.index('每') # 子字元串不存在
# 輸出結果
print(f's1 = {s1}')
print(f's2 = {s2}')
print(f's3 = {s3}')
運作之後的結果:
s1 = 0
s2 = 5
s3 = 8
1.3rfind函數的使用
rfind函數:從右邊開始查找子字元串是否存在于主字元串開始下标到結束下标中,如果存在則傳回子字元串第一次出現位置的開始位置下标,如果不存在則傳回-1。注意開始下标和結束下标可以省略。當開始下标省略時,開始下标預設為0。當結束下标省略時,結束下标預設為字元串長度。
基本文法:
主字元串名稱.rfind('需要存在的子字元串', 開始下标, 結束下标)
在python中的運用:
str1 = '尤利西斯 梅雪 雲希 克裡斯汀娜 梅' # 建立主字元串
# rfind函數運用
s1 = str1.rfind('尤利西斯', 0, 10) # 完整寫法
s2 = str1.rfind('梅', 4) # 省略結束下标
s3 = str1.rfind('雲希') # 省略開始下标和結束下标
s4 = str1.rfind('每') # 子字元串不存在
# 輸出結果
print(f's1 = {s1}')
print(f's2 = {s2}')
print(f's3 = {s3}')
print(f's4 = {s4}')
運作之後的結果:
s1 = 0
s2 = 17
s3 = 8
s4 = -1
1.4、rindex函數的使用
rindex函數:從右邊開始查找子字元串是否存在于主字元串開始下标到結束下标中,如果存在則傳回子字元串第一次出現位置的開始位置下标,如果不存在則報錯。注意開始下标和結束下标可以省略。當開始下标省略時,開始下标預設為0。當結束下标省略時,結束下标預設為字元串長度。
基本文法:
主字元串名稱.rindex('需要存在的子字元串', 開始下标, 結束下标)
在python中的運用:
str1 = '尤利西斯 梅雪 雲希 克裡斯汀娜 梅' # 建立主字元串
# rindex函數運用
s1 = str1.rindex('尤利西斯', 0, 10) # 完整寫法
s2 = str1.rindex('梅', 4) # 省略結束下标
s3 = str1.rindex('雲希') # 省略開始下标和結束下标
# 報錯
# s4 = str1.rindex('每') # 子字元串不存在
# 輸出結果
print(f's1 = {s1}')
print(f's2 = {s2}')
print(f's3 = {s3}')
運作之後的結果:
s1 = 0
s2 = 17
s3 = 8
1.5、count函數
count函數:從左邊開始查找子字元串在主字元串開始下标到結束下标之間出現的次數,不存在傳回0。注意開始下标和結束下标可以省略。當開始下标省略時,開始下标預設為0。當結束下标省略時,結束下标預設為字元串長度。
基本文法:
主字元串名稱.count('需要存在的子字元串', 開始下标, 結束下标)
在python中的運用:
str1 = '尤利西斯 梅雪 雲希 克裡斯汀娜 梅' # 建立主字元串
# count函數運用
s1 = str1.count('尤利西斯', 0, 10) # 完整寫法
s2 = str1.count('梅', 4) # 省略結束下标
s3 = str1.count('雲希') # 省略開始下标和結束下标
s4 = str1.count('每') # 子字元串不存在
# 輸出結果
print(f's1 = {s1}')
print(f's2 = {s2}')
print(f's3 = {s3}')
print(f's4 = {s4}')
運作之後的結果:
s1 = 1
s2 = 2
s3 = 1
s4 = 0