【问题标题】:Python- how to verify if a string ends with specific string?Python-如何验证字符串是否以特定字符串结尾?
【发布时间】:2016-04-21 07:59:37
【问题描述】:

例如,我有以下字符串: '24499 ? 00:02:05 sys-yg-ys'

如何验证字符串是否以我从函数结果中得到的字符串结尾(例如 sys-yg-ys)?

我在上面的字符串上尝试了以下(只是为了检查简单的大小写): 结果='' 如果(line.endswith('ys',len(line)-2,len(line)-1)): 结果='真'

但是当我检查结果的值时我没有得到真实的结果。

【问题讨论】:

  • 未来,您可能想开始搜索一些基础教程。 tutorialspoint.com/python/python_strings.htm 包含您需要的所有答案。
  • 谷歌搜索您问题的确切标题(包括错字)会产生许多有用的结果。

标签: python string


【解决方案1】:

The str.endswith() function 会这样做。 例如:yourstring.endswith("sys-yg-ys")

【讨论】:

    【解决方案2】:
    re.match(r"^.+(sys-yg-ys)$", string)
    

    【讨论】:

    • 正则表达式对此严重过度。
    【解决方案3】:

    试试这个:

    line = '  24499 ?   00:02:05 sys-yg-ys'
    result = False
    print("Before test: " + str(result))
    result = line.endswith('ys')
    print("After test: " + str(result))
    

    输出:

    Before test: False
    After test: True
    

    为什么要添加'start'和'end'参数?

    【讨论】:

      【解决方案4】:

      你可以使用

       string.find("substring")
      

      应该这样做

      【讨论】:

      • 这也将匹配包含给定子字符串的字符串中其他位置的字符串,而不仅仅是在末尾。
      • 是的,但是查看您的数据您不必担心 sys-yg-ys 出现在字符串末尾以外的任何部分,因此只要您使用它仍然是安全的知道您的数据会是什么样子。
      最近更新 更多