鱼C论坛

 找回密码
 立即注册
查看: 1182|回复: 9

[已解决]关于strip()方法的使用

[复制链接]
发表于 2022-3-12 13:32:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大神好:

shopping_mall = 'www.amazon.com'
shopping_mall_1 = shopping_mall.strip('.wcom')
print(shopping_mall_1)

结果为
amazon

但是如果我想找出来

shopping_mall = 'www.taobao.com'
shopping_mall_1 = shopping_mall.strip('.wcom')
print(shopping_mall_1)

结果为

taoba

这种情况我想打印出来 taobao
应该如何做呢?

谢谢各位大神
最佳答案
2022-3-12 13:36:11
多简单的东西,想复杂了
>>> shopping_mall = 'www.taobao.com'
>>> shopping_mall_1 = shopping_mall.split('.')
>>> print(shopping_mall_1)
['www', 'taobao', 'com']
>>> shopping_mall_1 = shopping_mall.split('.')[1]
>>> print(shopping_mall_1)
taobao
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-12 13:36:11 | 显示全部楼层    本楼为最佳答案   
多简单的东西,想复杂了
>>> shopping_mall = 'www.taobao.com'
>>> shopping_mall_1 = shopping_mall.split('.')
>>> print(shopping_mall_1)
['www', 'taobao', 'com']
>>> shopping_mall_1 = shopping_mall.split('.')[1]
>>> print(shopping_mall_1)
taobao

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
koreabao + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-3-12 13:38:45 | 显示全部楼层
ba21 发表于 2022-3-12 13:36
多简单的东西,想复杂了
>>> shopping_mall = 'www.taobao.com'
>>> shopping_mall_1 = shopping_mall.sp ...

原来可以这样, 那可以用strip()来实现吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-12 13:40:18 | 显示全部楼层
koreabao 发表于 2022-3-12 13:38
原来可以这样, 那可以用strip()来实现吗?

想想也不可能吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-12 13:44:13 | 显示全部楼层
ba21 发表于 2022-3-12 13:40
想想也不可能吧。

那strip()这种方法
一般在什么情况下使用呢?
能否给一一个例子呢?谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-12 14:41:52 From FishC Mobile | 显示全部楼层
koreabao 发表于 2022-3-12 13:44
那strip()这种方法
一般在什么情况下使用呢?
能否给一一个例子呢?谢谢

strip是删除的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-12 15:40:11 | 显示全部楼层
从你的两个例子,其实就可以看出 'xyabz123z'.strip('xyz')  是 按指定字符集 删除左右两端的 字符 (默认是删除左右两端的空格符)
第二个例子之所以结果是 taoba , 那是因为 bao 的 'o'  也是"在右边"且属于你所指定的'.wcom'字符集,所以会被删除,tao的'o'因为是"在中间",不是strip()所能操作的范围,所以没有被删除。

换句话说,strip()是分别从左右两端开始搜索和匹配,匹配上了就删除,一旦没匹配上就停止。  

由此,你甚至可以自己实现一个同样功能的函数,如:
  1. >>> def myStrip(s, char=' '):
  2.         ls = list(s)
  3.         tmp_ls = ls[:]
  4.         for c in tmp_ls:
  5.                 if c in char:
  6.                         ls.remove(c)
  7.                 else:
  8.                         break
  9.        
  10.         lsr = ls[::-1]
  11.         tmp_lsr = lsr[:]
  12.         for c in tmp_lsr:
  13.                 if c in char:
  14.                         lsr.remove(c)
  15.                 else:
  16.                         break
  17.                
  18.         return ''.join(lsr[::-1])

  19. >>> myStrip(s='  www.taobao.com ',)
  20. 'www.taobao.com'
  21. >>> myStrip(s='  www.taobao.com ', char='.w')
  22. '  www.taobao.com '
  23. >>> myStrip(s=' www.taobao.com ', char=' .w')
  24. 'taobao.com'
  25. >>> myStrip(s=' www.taobao.com ', char=' .wcom')
  26. 'taoba'
  27. >>>
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
koreabao + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-13 10:25:37 | 显示全部楼层
阿奇_o 发表于 2022-3-12 15:40
从你的两个例子,其实就可以看出 'xyabz123z'.strip('xyz')  是 按指定字符集 删除左右两端的 字符 (默认 ...

谢谢, 还没学到函数, 继续努力谢谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-14 07:24:56 From FishC Mobile | 显示全部楼层
koreabao 发表于 2022-3-12 13:38
原来可以这样, 那可以用strip()来实现吗?

shopping_mall = 'www.taobao.com'
shopping_mall_1 = shopping_mall.strip('wcom').strip('.')
print(shopping_mall_1)

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
koreabao + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-17 20:48:19 | 显示全部楼层
qq1151985918 发表于 2022-3-14 07:24
shopping_mall = 'www.taobao.com'
shopping_mall_1 = shopping_mall.strip('wcom').strip('.')
print( ...

太感谢了!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 22:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表