jcpython2 发表于 2022-9-29 23:19:01

.strip去除首位指定内容,会循环?

本帖最后由 jcpython2 于 2022-9-30 09:54 编辑

print("takeab \n".strip("beka \n"))

t

我的理解是去除指定内容,比如指定去除'ab'就去除'ab'不会去除单独一个'a'或者'b'或者'ba'

但输出结果是好像strip会不停检索头尾是否带'b''e''k''a'不管组合顺序,有就去除,再检索一次,直至到两边没有位置才停止

jcpython2 发表于 2022-9-29 23:19:53

当然还包含"beka \n"中间的空格也在清除范围内

dolly_yos2 发表于 2022-9-29 23:31:56

参考 https://docs.python.org/zh-cn/3/library/stdtypes.html?highlight=strip#str.strip
当然能看懂的话首选推荐看英文版文档

jackz007 发表于 2022-9-30 08:46:32

本帖最后由 jackz007 于 2022-9-30 08:54 编辑

      当然,因为需要遍历字符串的内容,所以,循环基本上属于必须的。
      下面的代码人工实现 print("takeab \n" . strip("beka \n")) 的效果
s , b = "takeab \n" , "beka \n"
i = 0
while i < len(s) and s in b:
    i += 1
j = len(b)
while j and s in b:
    j -= 1
print(s)

jcpython2 发表于 2022-9-30 09:52:57

dolly_yos2 发表于 2022-9-29 23:31
参考 https://docs.python.org/zh-cn/3/library/stdtypes.html?highlight=strip#str.strip
当然能看懂的话 ...

文档我也是看了,写的也没我说的情况,或者我看不懂吧

jcpython2 发表于 2022-9-30 09:53:36

jackz007 发表于 2022-9-30 08:46
当然,因为需要遍历字符串的内容,所以,循环基本上属于必须的。
      下面的代码人工实现 pri ...

按照你这个逻辑,他就是循环去掉,我想得没错了

jackz007 发表于 2022-9-30 09:56:40

jcpython2 发表于 2022-9-30 09:53
按照你这个逻辑,他就是循环去掉,我想得没错了

       没错。
页: [1]
查看完整版本: .strip去除首位指定内容,会循环?