• 关于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方法来获取文件名,有坑啊!

  • 相关阅读:
    continue语句及小案例
    break语句和break版猜数字游戏
    python 用while语句打印99乘法表
    python2中引入python3中print函数的语法的语句
    【猜数字 小游戏】
    【while循环】
    代码块和缩进
    使用vs2015编写c语言的方法
    This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details
    矩阵相乘法则和技巧
  • 原文地址:https://www.cnblogs.com/yfish/p/12496965.html
Copyright © 2020-2023  润新知