免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1145 | 回复: 3
打印 上一主题 下一主题

关于删除字符[已解決] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-06-08 14:25 |只看该作者 |倒序浏览
本帖最后由 黑色_天空 于 2013-06-08 17:33 编辑

theString = 'sayyesnoyas'

a=theString[0:4]
b=theString [8:11]

print a+b

>>>
sayyyas




问题:因为字符串还短所以可以使用以上粗略的方法写完, 请问还有什么方法可以把中间esno去除,来显示剩下来的字符?


例如:theString = 'sayyesnoyassayyesnoyassayyesnoyas'

论坛徽章:
0
2 [报告]
发表于 2013-06-08 14:33 |只看该作者
用正则表达式:
  1. theString = 'sayyesnoyassayyesnoyassayyesnoyas'

  2. import re
  3. print re.sub('esno','',theString)
复制代码
结果
sayyyassayyyassayyyas

论坛徽章:
3
卯兔
日期:2013-08-15 13:17:31处女座
日期:2014-01-10 11:35:23双子座
日期:2014-01-25 02:16:06
3 [报告]
发表于 2013-06-08 16:14 |只看该作者
LS所写的正则是最简单的方法。也可以自己一个一个查找,然后删除,比如下面的这种笨方法:
  1. In [1]: def remove(dest, origin):
  2.    ....:     while dest in origin:
  3.    ....:         index = origin.find(dest)
  4.    ....:         origin = origin[:index] + origin[index+len(dest):]
  5.    ....:     return origin
  6.    ....:

  7. In [2]: theString = 'sayyesnoyassayyesnoyassayyesnoyas'

  8. In [3]: remove('esno', theString)
  9. Out[3]: 'sayyyassayyyassayyyas'
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-06-08 17:32 |只看该作者
Hadron74 发表于 2013-06-08 14:33
用正则表达式:结果
sayyyassayyyassayyyas


re.sub>>替换而不是用删除,了解了解,终于开通了!!

sunny7476 发表于 2013-06-08 16:14
LS所写的正则是最简单的方法。也可以自己一个一个查找,然后删除,比如下面的这种笨方法:


谢谢两位楼友的解答
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP