专栏首页python3Python之strip与split函数

Python之strip与split函数

一、strip函数原型

声明:s为字符串,rm为要删除的字符序列

s.strip(rm)        删除s字符串中开头、结尾处,位于rm删除序列的字符

s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符

如下: 

>>> a='hheloooo goooodbyyyye'
>>> a.strip('helo ')
'goooodbyyyy'
>>> a.strip('he')
'loooo goooodbyyyy'
>>> a.strip('o')
'hheloooo goooodbyyyye'
>>>

从首尾开始找.先从首位找到'h'在['h','e','l','o']内把'h'去掉,发现第二个'h'依然还在['h','e','l','o']内再次去掉'h',往后推,发现'e'还在['h','e','l','o']内,继续去掉'e',同理一直往下推.

从尾部开始发现'e'在['h','e','l','o']内,去掉'e',再发现'y'不在['h','e','l','o']内,所以就停止了.

1, 当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

>>> a='    a\n\tbc'
>>> print a
    a
       bc
>>> a.strip()
'a\n\tbc'
>>> a='  abc'
>>> a.strip()
'abc'
>>> a='\n\tabc'
>>> a.strip()
'abc'
>>> a='abc\n\t'
>>> a.strip()
'abc'
>>>

2,这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉

>>> a='123abc'
>>> a.strip('21')
'3abc'
>>> a.strip('12')
'3abc'
>>> a.strip('1a')
'23abc'
>>> a.strip(cb)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'cb' is not defined
>>> a.strip('cb')
'123a'
>>> a.strip('bc')
'123a'
>>>

二、split函数

split是分割函数,将字符串分割成“字符”,保存在一个列表中。

>>> a='a b c d'
>>> a.split()
['a', 'b', 'c', 'd']

默认不带参数为空格分割。之所以为双引号的“字符”,因为实际python没有字符的。

>>> b='abc efg hij kkj'
>>> b.split()
['abc', 'efg', 'hij', 'kkj']

还可以带参数根据实际需求进行分割

>>> c='name=ding|age=25|job=it'
>>> c.split('|')
['name=ding', 'age=25', 'job=it']
>>> c.split('|')[0].split('=')
['name', 'ding']

还可以带上数字参数,表示“切几刀”如:

>>> d='a b c d e'
>>> d.split(' ',1)#以空格“切一刀”,就分成两块了
['a', 'b c d e']
>>> d.split(' ',2)
['a', 'b', 'c d e']
>>> d.split(' ',3)
['a', 'b', 'c', 'd e']
>>> d.split(' ',-1) #d.split(' ')结果一样
['a', 'b', 'c', 'd', 'e']
>>> d.split(' ')
['a', 'b', 'c', 'd', 'e']

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python的定时器

     在实际应用中,我们经常需要使用定时器去触发一些事件。Python中通过线程实现定时器timer,其使用非常简单。看示例:

    py3study
  • python 去掉\n和\t

    py3study
  • 机器学习_K近邻Python代码详解

    py3study
  • iPhoneX Max适配

    640 × 960 iPhone4s Default@2x

    程序员不务正业
  • git仓库迁移

    最近,装了git的本地服务器坏掉了, 没办法只能临时进行仓库的迁移  保证项目正常进行

    江湖前辈黄药师
  • 独家 | 经验&教训分享:我的第一个机器学习项目

    在这片博客中,我将介绍队友(Aron,Ashish,Gabriel)和我如何完成我们的第一个机器学习项目。写这篇博客的目的是为了记录——记录下我作为一名有抱负的...

    数据派THU
  • 手把手教你用Python实现分布式爬虫(四) - scrapy爬取技术文章网站

    搭建scrapy的开发环境,本文介绍scrapy的常用命令以及工程目录结构分析,本文中也会详细的讲解xpath和css选择器的使用。然后通过scrapy提供的s...

    JavaEdge
  • 下一个倒下的将是苹果?

    摘要: 如果乔布斯还在,他一定不会这样做,而是从另一个境界开辟新战场……然而,库克船长最讨厌的是“如果乔布斯在,会……”,因为这只是假设,抑或乔布斯在也只能肉搏...

    阳光岛主
  • 如何在 Stack Overflow 规范提问

    最近学习js的时候看到了一段代码,思考再三之后仍然不是很理解,于是决定到尽可能多的平台进行提问,目的有二:1.最主要的,解决问题;2.借这个机会测试哪些平台可以...

    Chor
  • C#2.0新增功能03 匿名方法

      在 2.0 之前的 C# 版本中,声明委托的唯一方式是使用命名方法。 C# 2.0 引入匿名方法,在 C# 3.0 及更高版本中,Lambda 表达式取代匿...

    张传宁老师

扫码关注云+社区

领取腾讯云代金券