• 关于python中strip方法的理解


    1.strip方法并不是去除对称字符串的。

    比如

    a="123abcd321"

    a.strip()方法的结果是abcd

    有人可能就把strip方法理解成了“可以去除字符串两端对称字符”的一种方法。这么理解是错误的。

    2.strip方法既可以去除字符串左侧的字符也可以去除字符串右侧的字符,也可以两端同时去除。

    a="123abcd"

    a.strip(“123”)的结果是abcd

    b="abcd123"

    b.strip("123")的结果是abcd

    strip方法的结果其实是先执行lstrip方法再执行rstrip方法,为了语义清楚,你如果要去除字符串右侧的字符,最好用rstip,左侧的就用lstrip

    3.strip方法并不是匹配子串来删除字符串的


    如果是匹配子串的,那么就无法解释下面的结果

    a="123abcd"

    a.strip("1234")的结果是abcd

    4.strip方法真正的执行流程是这样的:把strip中的参数拆分成一个个的字符,先执行lstrip方法,从字符串的左侧找起,如果有字符是strip参数中的任意一个字符,那么就从字符串中删除掉这个字符直到找到一个字符,这个字符不属于strip参数中的任意一个字符。再执行strip方法,从字符串的右侧找起,如果有字符是strip参数中的任意一个字符,那么就从字符串中删除掉这个字符直到找到一个字符,这个字符不属于strip参数中的任意一个字符。

    b="ccfffoffc_ahfdof.cof"

    b.strip(".cof")

    这个例子,先执行lstrip的方法的结果是_ahfdof.cof

    在_ahfdof.cof的基础上执行rstrip方法

    结果是_ahfd

    最后在网上找到一个题目,对于理解strip方法很有用处

    a="movies.csv"

    a.strip(".csv")

    的结果是什么?

    预期的结果是movies

    但实际上结果是movie

    你能理解了吗?

    所以不要用strip方法来获取文件名,有坑啊!

  • 相关阅读:
    最短路回顾
    树链剖分【模板】
    grep 、find 、tree 新发现
    网口划VLAN
    JDK安装
    网口做trunk
    PXE搭建
    C# 生成DLL文件
    在form窗体里面 寻找当前焦点的控件
    在屏幕右下方显示提示信息(winform窗体)(借鉴)
  • 原文地址:https://www.cnblogs.com/yfish/p/12496965.html
Copyright © 2020-2023  润新知