鱼C论坛

 找回密码
 立即注册

014字符串:各种奇葩的内置方法

已有 132 次阅读2018-4-8 22:02 |个人分类:python笔记

014字符串:各种奇葩的内置方法

1. 修改字符串切片方法

a) >>> str1 = 'I love fishc.com'

b) >>> str1[:6]

c) 'I love'

d) >>> str1

e) 'I love fishc.com'

f) >>> str1[5]

g) 'e'

h) >>> str1[:6] + '插入的字符串' + str1[6:]

i) 'I love插入的字符串 fishc.com'

j) >>> str1 = str1[:6] + '插入的字符串' + str1[6:]

k) >>> str1

l) 'I love插入的字符串 fishc.com'

2. Capitalize()str.capitalize()将首字母改成大写

a) >>> str2 = 'xiaoxie'

b) >>> str2.capitalize()

c) 'Xiaoxie'

3. Casefold():将字符串中所有大写字母改为小写;

a) >>> str2 = "DAXIExiaoxie"

b) >>> str2.casefold()

c) 'daxiexiaoxie' #只是返回了新的字符串,str2并没有改变

d) >>> str2

e) 'DAXIExiaoxie'

4. Center(width):将字符串居中,并使用空格填充至长度width的新字符串,类似于居中;

a) >>> str2.center(40)

b) '              DAXIExiaoxie              '

5. Count(sub[,start[,end]]):返回sub在字符串里边出现的次数,startend参数表示范围,可选。 #中括号的参数表示可选

a) >>> str2.count(xi) #注意查找的是字符串要’’否则会报错!

b) Traceback (most recent call last):

c)   File "<pyshell#13>", line 1, in <module>

d)     str2.count(xi)

e) NameError: name 'xi' is not defined

f) >>> str2.count('xi')

g) 2

6. Endswith(sub[,start[,end]]):检查字符串是否是以sub结尾的。

a) >>> str2.endswith('xi')

b) False

c) >>> str2.endswith('xie')

d) True

e) startswith(prefix[,start[,end]]):检查字符串是否是以prefix开头的。

7. Expandtabs([tabsize=8]):把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的tabsize = 8

a) >>> str3 = 'I\tlove\tfishC.com!'

b) >>> str3.expandtabs()

c) 'I       love    fishC.com!' #可以看出,是包含tab前面的内容共8个位置

8. Find(sub[,start[,end]]):检测sub是否包含在字符串中,如果有则返回索引值(第一个元素的索引值),否则返回-1startend参数表示范围,可选。

a) >>> str3.find('efe')

b) -1

c) >>> str3.find('com')

d) 13 #str3中的com中的c是在第13

e) Rfind(sub[,start[,end]]):类似于find()方法,不过是从右边开始查找。

9. Index(sub[,start[,end]]):与find方法一样,区别在于如果sub不在string重会产生一个异常。

a) >>> str3.index('efe')

b) Traceback (most recent call last):

c)   File "<pyshell#21>", line 1, in <module>

d)     str3.index('efe')

e) ValueError: substring not found

f) >>> str3.index('com')

g) 13

h) Rindex():类似于index()方法,不过是从右边开始。

10. Is判断类
11. Join(sub):以字符串作为分隔符,插入到sub中所有的字符之间

a) >>> str5 = 'Fishc'

b) >>> str5.join('12345')

c) '1Fishc2Fishc3Fishc4Fishc5'

12. Ljust(width):返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串。

a) >>> str5.ljust(40)

b) 'Fishc                                   '

13. Rjust(width):返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串。

14. Lower():转换字符串中所有大写字符为小写。

15. Upper():转换字符串中所有小写字符为大写。

16. Lstrip():去掉字符串左边的所用空格

a) >>> str6 = '           I love you.'

b) >>> str6.lstrip()

c) 'I love you.'

d) rstrip()去掉字符串右边的所有空格。

e) Strip([chars]):删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选,中间的字符不会被删掉。

i. >>> str7 = '   sssaa aasss   '

ii. >>> str7.strip()

iii. 'sssaa aasss'

iv. >>> str7.strip('s')

v. '   sssaa aasss   ' #由此可见想要规定要删除的字符,必须是该字符一定在字符串的前后,否则没用。

vi. >>> str7 = str7.strip()

vii. >>> str7

viii. 'sssaa aasss'

ix. >>> str7.strip('s')

x. 'aa aa'

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

a) >>> str6 = 'I love fishc'

b) >>> str6.partition('ov')

c) ('I l', 'ov', 'e fishc')

d) Rpartition(sub):类似于partition()方法,不过是从右边开始查找。

18. Replace(old,new[,count])*:把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次。

a) >>> str6

b) 'I love fishc'

c) >>> str6.replace('fishc','FishC')

d) 'I love FishC'

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

a) Eg1.

i. >>> str6

ii. 'I love fishc'

iii. >>> str6.split()

iv. ['I', 'love', 'fishc']

b) Eg2.

i. >>> str6.split('i')

ii. ['I love f', 'shc'] #i为分隔符,i会被切掉

c) Eg3.

20. Swapcase():翻转,将大写变成小写,小写变大写。

a) >>> str6

b) 'I love fishc'

c) >>> str6.swapcase()

d) 'i LOVE FISHC'

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

22. Translate(table):根据table的规则(可以有str.maketrans( a , b )定制)转换字符串中的字符。

a) >>> str7.translate(str.maketrans('s', 'b'))

b) 'bbbaa aabbb'

c) >>> str.maketrans('s', 'b')

d) {115: 98}

23. Zfill(width):返回长度为width的字符,原字符串右对齐,前边用0填充。

a) >>> str7.zfill(40)

b) '00000000000000000000000000000sssaa aasss'

MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

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

GMT+8, 2024-5-10 16:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部