📌  相关文章
📜  如何检查字符串是否以子字符串结尾python(1)

📅  最后修改于: 2023-12-03 15:24:50.548000             🧑  作者: Mango

如何检查字符串是否以子字符串结尾Python

在Python中,我们经常会遇到检查字符串是否以某个子字符串结尾的情况。这种情况可能出现在很多不同的场景中,比如:

  • 文件名以某个扩展名结尾
  • URL以某个特定的字符串结尾
  • 检查记录是否以特定的字符或字符串结尾等等。

下面介绍几种常用的方法来检查字符串是否以子字符串结尾。

1.使用字符串切片

第一种方法是将原始字符串切片以获得最后的N个字符,然后检查这个子字符串是否与待检查的子字符串相等。如果相等,则说明原始字符串确实以子字符串结尾。

以下是示例代码:

def check_string_end(original_string, suffix):
    """
    使用字符串切片检查字符串是否以某个子字符串结尾
    :param original_string: 原始字符串
    :param suffix: 待检查的子字符串
    :return: 布尔值True或False
    """
    return original_string[-len(suffix):] == suffix

示例使用:

>>> original_string = "hello world"
>>> suffix = "world"
>>> check_string_end(original_string, suffix)
True

>>> suffix = "wo"
>>> check_string_end(original_string, suffix)
False

以上示例中,check_string_end函数分别检查original_string是否以suffix结尾,并返回一个布尔值True或False。

2.使用endswith()方法

Python内置的字符串方法endswith()可以用来检查字符串是否以某个子字符串结尾。只需在原始字符串后跟一对括号,并将待检查的子字符串作为参数传递即可。

以下是示例代码:

def check_string_end(original_string, suffix):
    """
    使用endswith()检查字符串是否以某个子字符串结尾
    :param original_string: 原始字符串
    :param suffix: 待检查的子字符串
    :return: 布尔值True或False
    """
    return original_string.endswith(suffix)

示例使用:

>>> original_string = "hello world"
>>> suffix = "world"
>>> check_string_end(original_string, suffix)
True

>>> suffix = "wo"
>>> check_string_end(original_string, suffix)
False

以上示例中,check_string_end函数分别检查original_string是否以suffix结尾,并返回一个布尔值True或False。

3.使用re模块

Python的标准库中也包含了一个非常强大的正则表达式引擎,即re模块。利用re的search()方法,可以通过正则表达式来检查字符串是否以某个子字符串结尾。

以下是示例代码:

import re

def check_string_end(original_string, suffix):
    """
    使用正则表达式检查字符串是否以某个子字符串结尾
    :param original_string: 原始字符串
    :param suffix: 待检查的子字符串
    :return: 布尔值True或False
    """
    pattern = re.compile(suffix + "$")
    return pattern.search(original_string) is not None

示例使用:

>>> original_string = "hello world"
>>> suffix = "world"
>>> check_string_end(original_string, suffix)
True

>>> suffix = "wo"
>>> check_string_end(original_string, suffix)
False

以上示例中,check_string_end函数分别检查original_string是否以suffix结尾,并返回一个布尔值True或False。

这三种方法都可以用来检查字符串是否以子字符串结尾。在实际编程中,可以根据实际需求选择最合适的方法。