首页 > 开发 > Python > 正文

Python中判断一个字符串是否以特定字符前缀开始的函数:startswith()

2023-04-27 19:03:16
字体:
来源:转载
供稿:网友

Python中提供了大量的字符串处理函数,可以帮助我们完成各种各样的字符串处理工作。

Python内置的startswith()函数可以帮助我们判断一个字符串中是否以某一特定的前缀字符串开始,并返回逻辑值:TrueFalse

同时,该函数提供了可选的两个参数,分别用于指定在字符串中搜索的起始位置和停止位置。

startswith()函数的语法格式如下:

string_object.startswith(prefix,start,end)

各参数的含义如下:

  • prefix: 要搜索的字符串前缀,可以是元组或字符串,且是大小写敏感的。
  • start: 可选参数,用于指定搜索的起始位置。
  • end: 可选参数,且在指定了start的前提下,才能使用该参数,用于给定搜索停止的位置。

Python中startswith()函数的使用方法

下面使用一些例子举例讲解这个函数的使用方法。

1、使用例子1

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中的执行情况:

Python中startswith()函数的使用案例

2、使用例子2

test_str = "搜索武林网VEVB,发现更多乐趣。"
rtn_result = test_str.startswith("武林网", 2)
print(rtn_result)

这里指定了start参数,则从索引为2的位置(即“翔”字开始的位置)开始搜索。

在Python3.8.2中的执行情况如下图所示:

Python中startswith()函数各参数的使用

3、使用例子3

test_str = "搜索武林网VEVB,site:VeVb.com"
rtn_result = test_str.startswith("武林网", 1, 5)
print(rtn_result)

这里同时指定了start参数和end参数,则从索引位置1到索引位置5进行搜索。

在Python3.8.2中的执行情况如下图所示:

startswith()函数使用例子

4、使用例子4

test_str = "搜索武林网VEVB"
rtn_result = test_str.startswith("百度")
print(rtn_result)

在Python3.8.2中的执行情况如下图所示:

Python中startswith()函数的具体使用方法

5、后面两个参数使用负数的情况

虽然官方文档中没有明确指出负数情况,但是基于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中运行情况如下图所示:

Python中startswith()函数参数为负值

6、大小写敏感

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中startswith()函数大小写敏感

这个例子中,使用到了Python中的另外一个函数upper(),该函数的作用是将字符串中的英文字母都变成大写形式。

从这里可以看出,第一个输出False,认为指定的开始位置不是"it"字符串,第2个输出True,因为将待搜索字符串变为大写后,可以在指定位置找到了。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表