Python中提供了大量的字符串处理函数,可以帮助我们完成各种各样的字符串处理工作。
Python内置的startswith()函数可以帮助我们判断一个字符串中是否以某一特定的前缀字符串开始,并返回逻辑值:True或False。
同时,该函数提供了可选的两个参数,分别用于指定在字符串中搜索的起始位置和停止位置。
startswith()函数的语法格式如下:
string_object.startswith(prefix,start,end)
各参数的含义如下:
下面使用一些例子举例讲解这个函数的使用方法。
test_str = "武林网VEVB的文章贵在专业"
rtn_result = test_str.startswith("武林网")
print(rtn_result)
rtn_result = test_str.startswith("IT")
print(rtn_result)
输出:
True
False
在没有指定第2个和第3个参数时,startswith()函数默认从开始位置开始搜索。
在Python 3.8.2中的执行情况:
test_str = "搜索武林网VEVB,发现更多乐趣。"
rtn_result = test_str.startswith("武林网", 2)
print(rtn_result)
这里指定了start参数,则从索引为2的位置(即“翔”字开始的位置)开始搜索。
在Python3.8.2中的执行情况如下图所示:
test_str = "搜索武林网VEVB,site:VeVb.com"
rtn_result = test_str.startswith("武林网", 1, 5)
print(rtn_result)
这里同时指定了start参数和end参数,则从索引位置1到索引位置5进行搜索。
在Python3.8.2中的执行情况如下图所示:
test_str = "搜索武林网VEVB"
rtn_result = test_str.startswith("百度")
print(rtn_result)
在Python3.8.2中的执行情况如下图所示:
虽然官方文档中没有明确指出负数情况,但是基于Python中字符串切片处理的原则,很多字符串处理函数中可以使用负数来指定索引位置。负数即从字符串尾部往前数的位置。
test_str = "武林网VEVB"
rtn_result = test_str.startswith("IT", -4)
print(rtn_result)
rtn_result = test_str.startswith("IT", -3)
print(rtn_result)
rtn_result = test_str.startswith("IT", -5, -2)
print(rtn_result)
rtn_result = test_str.startswith("IT", -4, -2)
print(rtn_result)
以上例子在Python3.8.2中运行情况如下图所示:
test_str = "武林网VEVB"
search_str = "it"
rtn_result = test_str.startswith(search_str, 3)
print(rtn_result)
rtn_result = test_str.startswith(search_str.upper(), 3)
print(rtn_result)
在Python3.8.2中的执行情况如下图所示:
这个例子中,使用到了Python中的另外一个函数upper(),该函数的作用是将字符串中的英文字母都变成大写形式。
从这里可以看出,第一个输出False,认为指定的开始位置不是"it"字符串,第2个输出True,因为将待搜索字符串变为大写后,可以在指定位置找到了。
新闻热点
疑难解答