本篇我们学习如何使用字符串 startswith() 方法检查一个字符串是否以某个子串开头,以及使用 endswith() 方法检查一个字符串是否以某个子串结束。
字符串 startswith() 方法
startswith() 方法用于检测一个字符串是否以某个子串开头。如果是,返回 True;否则,返回 False。startswith() 方法的语法如下:
str.startswith(prefix, [,start [,end ])
startswith() 方法接受三个参数:
- prefix 是一个需要查找的字符串或者字符串元组。
- start 是字符串 str 中查找操作开始的位置。这是一个可选的参数。
- end 是字符串 str 中查找操作结束的位置。这也是一个可选的参数。
注意,startswith() 方法区分大小写。
startswith() 方法示例
检查字符串是否以某个子串开头
以下示例使用 startswith() 方法判断字符串“Make it work, make it right, make it fast.”是否以子串“Make”开头:
s = 'Make it work, make it right, make it fast.'
result = s.startswith('Make')
print(result)
输出结果如下:
True
前面我们提到过,startswith() 方法查找字符串时区分大小写。因此,以下示例返回了 False:
s = 'Make it work, make it right, make it fast.'
result = s.startswith('make')
print(result)
False
检查字符串是否以元组中的任意字符串开头
以下示例使用 startswith() 方法检查字符串“Make it work, make it right, make it fast.”是否以元组 (‘Make’,‘make’) 中的任一字符串开头:
s = 'Make it work, make it right, make it fast.'
result = s.startswith(('Make','make'))
print(result)
输出结果如下:
True
从指定位置开始检查字符串
以下示例为 startswith() 方法指定了 start 参数,检查字符串“Make it work, make it right, make it fast.”从下标 14 开始是否为小写字符串“make”:
s = 'Make it work, make it right, make it fast.'
result = s.startswith('make', 14)
print(result)
返回结果如下:
True
字符串 endswith() 方法
endswith() 方法用于检测一个字符串是否以某个子串结束。如果是,返回 True;否则,返回 False。endswith() 方法的语法如下:
str.endswith(suffix, [,start [,end ])
endswith() 方法接受三个参数:
- suffix 是一个需要查找的字符串或者字符串元组。
- start 是字符串 str 中查找操作开始的位置。这是一个可选的参数。
- end 是字符串 str 中查找操作结束的位置。这也是一个可选的参数。
注意,endswith() 方法区分大小写。
endswith() 方法示例
检查字符串是否以某个子串结束
以下示例使用 endswith() 方法判断字符串“Beautiful is better than ugly”是否以子串“ugly”结束:
s = 'Beautiful is better than ugly'
result = s.endswith('ugly')
print(result)
返回结果如下:
True
前面我们提到过,endswith() 方法匹配字符串时区分大小写。因此,以下示例返回了 False:
s = 'Beautiful is better than ugly'
result = s.endswith('UGLY')
print(result)
False
检查字符串是否以元组中的任意字符串结束
以下示例使用 endswith() 方法检查语句字是否以句号(.)、问号(?)或者感叹号(!)结束:
marks = ('.', '?', '!')
sentence = 'Hello, how are you?'
result = sentence.endswith(marks)
print(result)
输出结果如下:
True
总结
- 字符串对象的 startswith() 方法可以用于检测一个字符串是否以某个子串开头。
- 字符串对象的 endswith() 方法可以用于检测一个字符串是否以某个子串结束。