码迷,mamicode.com
首页 > 编程语言 > 详细

Python3 字符串方法(16-28)

时间:2015-12-25 13:31:52      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

16.isspace() 如果字符串中只包含空格,则返回True,否则返回False

   

1 >>> s=‘ ‘

2 >>> s.isspace()

3 True

4 >>> s=‘‘

5 >>> s.isspace()

6 False

17.istitle() 如果字符串是标题化(所有单词都是以大写开始,其余字母小写),则返回True,否则False

   

1 >>> s=‘I Love Cnblog‘

2 >>> s.istitle()

3 True

   

18.join(sub) 以字符串作为分隔符,插入到sub中所有的字符之间

   

1 >>> s=‘I Love Cnblog‘

2 >>> s.join(‘bingo‘)

3 ‘bI Love CnblogiI Love CnblognI Love CnbloggI Love Cnblogo‘

记住这里是将字符串插入到sub的所有字符中,而不是将sub插入到字符串中

   

1 >>> a=[‘i‘,‘love‘,‘cnblog‘]

2 >>>‘ ‘.join(a)

3 ‘i love cnblog‘

4 >>>str(a)

5 "[‘i‘, ‘love‘, ‘cnblog‘]"

   

join()可以将列表转成字符串,与str()效果是不同的

   

19.ljust(width[, fillchar]) 返回一个左对齐的字符串,并使用fillchar(非必选,默认为空格)填充至长度为width(必选参数)的新字符串。值得注意的是左对齐并不会把左侧的空格去掉。

Rjust(width[,fillchar]) 右对齐。

1 >>> s=‘i love cnblog‘

2 >>> s.ljust(20)

3 ‘i love cnblog ‘

4 >>> s=‘ i love cnblog‘

5 >>> s.ljust(20)

6 ‘ i love cnblog ‘

   

20.strip()删除字符串两侧的空格。Lstrip()删除左侧空格,rstrip()删除右侧空格

   

1 >>> s=‘ i love cnblog ‘

2 >>> s.strip()

3 ‘i love cnblog‘

4 >>> s.lstrip()

5 ‘i love cnblog ‘

6 >>> s.rstrip()

7 ‘ i love cnblog‘

   

21.partition(sub) 找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符中不包含sub则返回(‘原字符串‘,‘‘,‘‘)

   

1 >>> s=‘i love cnblog‘

2 >>> s.partition(‘o‘)

3 (‘i l‘,‘o‘,‘ve cnblog‘)

4 >>> s.partition(‘i‘)

5 (‘‘,‘i‘,‘ love cnblog‘)

22.split(sep=None,maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。

1 >>> s=‘i love cnblog‘

2 >>> s.split(‘ ‘,2)

3 [‘i‘,‘love‘,‘cnblog‘]

4 >>> s.split(‘ ‘,1)

5 [‘i‘,‘love cnblog‘]

6 >>> s.split(‘i‘)

7 [‘‘,‘ love cnblog‘]

   

这里的参数sep会被切除,如第二行s.split(‘ ‘,2)中spe=‘‘(空格),第6行sep=‘i‘.最后结果中没有‘i‘

23.splitlines(([keepends])) 按照‘\n‘分隔,返回一个包含各行作为元素的列表,如果keepends参数指定且为真,换行符‘\n‘则不包含在返回的列表中,否则有‘\n‘

   

1 s=‘‘‘i

2 love

3 cnblog

4 ‘‘‘

5 print(s.splitlines())

6 >>>

7 [‘i‘,‘love‘,‘cnblog‘]#未指定keepends

8 print(s.splitlines(1))

9 >>>

10 [‘i\n,‘love\n,‘cnblog\n]#keepens指定,且为真,如果keenpnds=0(非真),则有‘\n‘

   

但奇怪的一点是并没有发现keenpends的作用,看下面当keenpends不同,结果竟然完全相同,等明白了再来更新!

1 s=‘‘‘i

2 love

3 cnblog

4

5 ‘‘‘

6 print(s.splitlines(1))

7 print(s.splitlines(2))

8 print(s.splitlines(4))

9 print(s.splitlines(5))

10 >>>

11 [‘i\n,‘love\n,‘cnblog\n,\n]

12 [‘i\n,‘love\n,‘cnblog\n,\n]

13 [‘i\n,‘love\n,‘cnblog\n,\n]

14 [‘i\n,‘love\n,‘cnblog\n,\n]

   

24.startswith(prefix[,start[,end]]) 检查字符串是否以prefix开头,是则返回True,否则返回False.start,end参数(可选)可以指定范围

   

1 >>> s=‘i love cnblog‘

2 >>> s.startswith(‘i‘,0,len(s)-1)

3 True

4 >>> s.startswith(‘i‘,0,100)#很明显,python并不检查右边界是否超出

5 True

   

25.swapcase() 翻转字符串中的大小写

   

1 >>> s=‘i love cnblog‘

2 >>> s.swapcase()

3 ‘I LOVE CNBLOG‘

26.title() 返回标题化(所有单词都以大写开始,其余字母小写)的字符串。

   

1 >>> s=‘i love cnblog‘

2 >>> s.title()

3 ‘I Love Cnblog‘

27.translate(table) 根据table的规则(可以由str.maketrans(‘a‘,‘b‘)定制)转换字符串中的字符

   

1 import string

2

3 in_s ="aeiou"

4 out_s ="12345"

5 trans =str.maketrans(in_s, out_s)

6

7 s="i love cnblog !"

8 print(s.translate(trans))

9 >>>

10 3 l4v2 cnbl4g !

   

table翻译表必须事先给定,而且必须是有次序的字符串,或者None(没有内容)。没有映射的字符不受影响(None映射到字符),但如果字符映射到None则会删除字符(事实上这里in_s、out_s必须等长,所以实际意思是table参数是否为None)。看下面:(ps:感觉这地方没理解清楚,甚至可能是错误的)

   

1 import string

2

3 in_s =‘ ‘#空格,没有内容

4 out_s =‘i‘

5 trans =str.maketrans(in_s,out_s)

6

7 s="i love cnblog!"

8 print(s.translate(trans))

9 >>>

10 iiloveicnblog!

1 import string

2

3 in_s =‘i‘

4 out_s =‘ ‘#空格,没有内容

5 trans =str.maketrans(in_s,out_s)

6

7 s="i love cnblog!"

8 print(s.translate(trans))

9 >>>

10 love cnblog!#i被删除了

   

28.zfill(width) 返回长度为width的字符串,原字符串右对齐,前边用0填充。这里的s是numeric类型的,非digit,即使width<len(s)字符串也不会变短

   

1 >>> s=‘123‘

2 >>> s.zfill(10)

3 ‘0000000123‘

4 >>> s=‘四‘

5 >>> s.zfill(10)

6 ‘000000000四‘

   

   ......为什么onenote到这上边成了这样子

 

Python3 字符串方法(16-28)

标签:

原文地址:http://www.cnblogs.com/Andy963/p/5075519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!