Python中的字符串操作(Python3.6.1版本)
(1)切片操作:
str1="hello world!"
str1[1:3] <=> 'el'(左闭右开:即是从1到2)
str[:3] <=> 'hel'
str[2:] <=> 'llo world!'
(2)和Java中的字符串一样,不能直接改变字符串的值,更新字符串时候可以用切片技术:
str1="hello world!"
str1=str1[:1]+'python'+str1[1:] <=> 'hpythonello world!'
(3)capitalize():将字符串第一个字符大写
>>> str='hello world!'
>>> str.capitalize ()
'Hello world!'
>>>
(4)casefold():将整个字符串小写
>>> str1="Hello world!"
>>> str1.casefold ()
'hello world!'
>>>
(5)center(width):将整个字符串居中(如果不够width则用空格补充)
str1="Hello world!"
>>> str1.center(20)
' Hello world! '
>>>
(6)count(sub[,start[,end]]):sub从start到end出现的次数(默认是整个字符串)
str1="Hello world!"
>>> str1.count ('l',3)
2("Hello world!")
>>> str1.count ('l')
3("Hello world!")
>>> str1.count('l',3,6)
1("Hello world!")
>>>
(7)endswith(sub)判断是否是以哪个字符串结尾
str1="Hello world!"
>>> str1.endswith('orld!')
True("Hello world!")
>>>
(8)expandstabs():将字符串中的' '转换为空格
>>> str2='include world!'
>>> str2.expandtabs()
'include world!'
>>>
(9)find(sub[,start][,end]):查找字符串中子串从start到end出现的位置并返回下标
str1="Hello world!"
>>> str1.find('llo')
2("Hello world!")
>>> str1.find('llo',3,8)
-1
>>>
(10)isalnum():判断s是否是数字或者字母
str1="Hello world!"
>>> str1.isalnum()
False("Hello world!")
>>>
(11)isspace():判断是否是空格
>>> str=" "
>>> str.isspace()
True
>>>
(12)isdigit():判断是否都是数字组成
>>> str="12345dfgbhn"
>>> str.isdigit()
False("12345dfgbhn")
>>>
(13)isalpha():判断是否都是由字母组成的
>>> str='asdfghj'
>>> str.isalpha()
True
>>>
(14)islower():判断是否都是由小写字母组成的
>>> str='asdfghj'
>>> str.islower()
True
>>>
(15)istitle():判断是否是标题形式字符串(即是连续字符串只有第一个字母大写,其他都是小写,若是有空格,则每个分隔的字符串都满足此)
>>> str='Helloworld'
>>> str.istitle()
True
>>>
(16)isupper():判断是否都是由大写字母组成的
>>> str='HELLO WOLD'
>>> str.isupper()
True
>>>
(17)join(sub)
>>> str1="abc"
>>> str1.join('1234')
'1abc2abc3abc4'
>>>
(18)lstrip():去掉字符串左边所有空格
>>> str=" hello world!"
>>> str.lstrip()
'hello world!'
>>>
(19)rstrip():去掉字符串右边的空格
>>> str="hello world! "
>>> str.rstrip()
'hello world!'
>>>
(20)replace(old,[,new][,count]):将字符串中的old子串替换为new,替换count次
str='hello world!'
>>> str.replace('hello' ,'HELLO' ,2)
'HELLO world! '
>>>
(21)rfind(sub[,start][,end]):从右边开始查找字符串中子串从start到end出现的位置并返回下标(注意start和end是从左往右的,返回的也是从左到右的位置。)
>>> str="hello world!"
>>> str.rfind('d!',0,5)
-1
>>> str.rfind('d!')
10
>>>
(22)split(sep):将字符串用给定的标准分割,并且以列表形式返回分割后的元素组
>>> str="1,2,3,4"
>>> str.split(',')
['1', '2', '3', '4']
>>>
(23)startwith(sub[,start][,end]):判断从start到end是否以sub开头
>>> str.startswith('hel')
True
>>>
(24)strip():去掉字符串左右两边的空格
>>> str=' hello world! '
>>> str.strip()
'hello world!'
>>>
(25)swapcase():将字符串的大小写反转
>>> str="Hello world!"
>>> str.swapcase ()
'hELLO WORLD!'
>>>
(26)title()将字符串标题化(即是连续字符串的第一个字母大写,其他都是小写空格,分隔的字符串都遵循此规则)
>>> str="hello world!"
>>> str.title()
'Hello World!'
>>>
(27)translate(table)
>>> str="sssaabb"
>>> str.translate(str.maketrans('s','b'))
'bbbaabb'
>>>
(28)upper():将整个字符串都大写
>>> str="hello world!"
>>> str.upper()
'HELLO WORLD!'
>>>
(29)zfill(width):用'0'来填充不够的空格(是从左边开始填充)
>>> str="hello world! "
>>> str.zfill(20)
'00000hello world! '
>>>
(30)lower():将整个字符串都小写
>>> str="HELLO worldQ"
>>> str.lower()
'hello worldq'
>>>
(31)format()
>>> '{0} love {1}{2}'.format('I','my','home')
'I love myhome'
>>> '{0} love {1} {2}'.format('I','my','home')
'I love my home'
>>> '{a} love {b} {c}'.format(a='I',b='my',c='home')
'I love my home'
>>> '{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'
>>>
(32)格式化:
>>> "%d+%d=%d" % (4,5,4+5)
'4+5=9'
>>>
>>> '%c' % 97
'a'
>>>