淘先锋技术网

首页 1 2 3 4 5 6 7

字符串

字符和元组很相似

>>> str1 = 'I have a dog'
>>> str1[:5]
'I hav'
>>> str1
'I have a dog'
>>> str1[5]
'e'
>>> str1[:4]+'插入字符串'+str1[4:]
'I ha插入字符串ve a dog'
>>> 

字符串的操作和元组也很相似,而且更多

————字符串常用方法

———增加(无)

———获取

count(sub  [,start[,end]])
返回sub在字符串里出现的次数,start和end参数表示范围,可选

>>> str3
'draGDGdeeloo'
>>> str3.count('d')
2
>>> 

find(sub [,start[,end]])

检查sub是否包含在字符串中,有则返回索引值,否返回-1,start 和 end参数表示范围,可选

>>> str5
'I\tlove\tzhuling'
>>> str5.find('zhu')
7
>>> 

rfind(sub [ ,start[ , end]])

类似与find()方法,但是从右边找起

title()

返回标题化的字符串

zfill(width)

返回长度为width的字符串,原字符串右对齐,前边用0填充

———修改

capitalize() 

把字符串的第一个字符改为大写

>>> str2 = 'dragonlongli'
>>> str2.capitalize()
'Dragonlongli'
>>> 
casefold()

把字符串全部字符改为小写

>>> str3 = 'draGDGdeeloo'
>>> str3.casefold()
'dragdgdeeloo'
>>> 

center(width)

将字符串居中,width是新字符串长度,不足部分用空格填充

encode(encoding='utf-8', errors='strict')

以encoding指定的编码格式对字符串进行编码

expandtabs(tabsize = 8)

将字符串中的tab符号(\t)转换为空格,如不指定参数,默认空格是tabsize=8

>>> str5
'I\tlove\tzhuling'
>>> str5.expandtabs()
'I       love    zhuling'
>>> 

join(sub)

以字符串作为分隔符,插入到sub中所有的字符之间。

>>> 
>>> str2 = 'dragolong'
>>> str2.join('123')
'1dragolong2dragolong3'
>>> 

ljust(width)

返回一个左对齐字符串,并使用空格填充至长度为width的新字符串

lower()

转换字符串中所有大写字符为小写。

upper()

转换字符串中所有小写字符为大写

lstrip()

去掉字符串左边的所有空格

>>> str3 = '     I love'
>>> str3.lstrip()
'I love'
>>> 

rstrip()

删除字符串末尾的空格

partition(sub)

找到子字符串sub,把字符串分成一个3元组,如果字符串中不包含sub则返回原字符串(‘原字符串’, ' ' , ' '),返回一个元组。

>>> str4
'I love zhuzhuxia'
>>> str4.partition('ve')
('I lo', 've', ' zhuzhuxia')
>>> 

replace(old ,new [ , count])

把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次

split(sep=None,maxsplit=-1)

不带参数默认是以空格为分隔符切片字符串,maxsplit参数有设置,则分割maxsplit个子字符串,返回切片后的子字符串拼接的列表。

**注意!:split切片有损耗,切片字符会丢弃。

>>> str4
'I love zhuzhuxia'
>>> str4.split()
['I', 'love', 'zhuzhuxia']
>>> str4.split(maxsplit=2)
['I', 'love', 'zhuzhuxia']
>>> str4.split(maxsplit=1)
['I', 'love zhuzhuxia']
>>> 
>>> str4
'I love zhuzhuxia'
>>> str4.split('h')
['I love z', 'uz', 'uxia']
>>> 

splitlines((keepends))

按照\n分隔,返回一个包含各行作为元素的列表,如果keepends参数制定,则返回keepends行。

strip([chars])

删除字符两边所有的空格,chars参数可以定制删除的字符,可选。

>>> 
>>> str7 = '      ssssAAAAssss     '
>>> str7.strip()
'ssssAAAAssss'
>>> str7 = str7.strip()
>>> str7.strip('s')
'AAAA'
>>> 

swapcase()

反转字符串中的大小写

>>> str6 = 'DdrgonLongSiSi'
>>> str6.swapcase()
'dDRGONlONGsIsI'
>>> 

translate(table)

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

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

———查找

endswith(sub [,start[,end]])

检查字符串是否以sub结尾,是返回true,否返回false,start 和end参数表示范围,可选

>>> str4
'longsi is good boy'
>>> str4.endswith('boy')
True
>>> str4.endswith('go')
False
>>> 

Startswith(prefix [ ,start[,end]])

检查字符串是否一prefix开头,是返回true,否返回false,start 和 end参数可以指定检查范围,可选。

isalnum()

如果字符串至少有一个字符,并且所有字符都是字母,或者数字,则返回true,否则返回false

isalpha()

如果字符串至少有一个字符,并且所有字符都是字母则返回true,否则返回false

isdecimal()

如果字符串只包含十进制数字则返回true,否则返回false

isdigit()

如果字符串只包含数字则返回true,否则返回false

islower()

如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回true,否则返回false

isnumeric()

如果字符串中只包含数字字符,则返回true,否则返回false

istitle()

如果字符串是标题化(所有的单词都是一大写开始,其余字幕均为小写),则返回true,否则返回false。

isupper()

如果字符串中的字符都是大写,返回true,否则返回false。



—————格式化

replacement 字段

format()方法

位置参数

>>> '{0} love {1} {2}'.format('I','xiao','zhu')
'I love xiao zhu'
>>> 

关键字参数

>>> '{a} love {b} {c}'.format(a='I',b='xiao',c='zhu')
'I love xiao zhu'
>>>