Python中的字符串操作总结(Python3.6.1版本)

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():将字符串中的'\t'转换为空格

>>> 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'
>>>

上一篇:DCM TUTORIAL – AN INTRODUCTION TO ORIENTATION KINEMATICS (REV 0.1)


下一篇:【poj2226】 Muddy Fields