Python中判断字符串结尾最常用方法是endswith(),返回布尔值,支持单后缀、元组多后缀及指定范围;需注意大小写敏感和尾部空格问题。
Python 中判断字符串以什么结尾,最常用、最直接的方法是使用字符串的 endswith() 方法。
该方法返回布尔值(True 或 False),支持单个字符串或元组形式的多个后缀:
"hello.txt".endswith(".txt") → True
"data.csv".endswith((".csv", ".xlsx", ".json")) → True
"abc123def".endswith("def", 3, 9) → True(只检查索引 3 到 9 范围内的子串)如果想知道“它到底以什么结尾”,而不是只判断真假,需结合长度计算或切片:
suffixes = [".py", ".js", ".html"]
for s in suffixes:
if filename.endswith(s):
print(f"以 {s} 结尾")
break
text[-3:] 获取最后 3 个字符,但要注意字符串长度不足时会报错或截断,建议先判断 len(text) >= 3
endswith() 区分大小写,且不会自动去除首尾空格:
"Report.PDF".endswith(".pdf") → False(大小写不匹配)"file.txt ".endswith(".txt") → False(末尾有空格)
先转小写:s.lower().endswith(".pdf")
s.rstrip() 处理:s.rstrip().endswith(".txt")
虽然可以用正则表达式(re.search(r"\.txt$", s))或手动切片(s[-4:] == ".txt"),但它们更易出错、可读性差、也不支持多后缀批量检查。除非有特殊需求,否则坚持用 endswith() 即可。