python 字符串的操作
(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'
>>>
可以通过pycharm 来看相应的方法

这是我总结的方法
| 方法 | 描述 |
|---|---|
|
把字符串的第一个字符大写 |
|
|
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 |
|
|
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
|
|
以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除 非 errors 指 定 的 是 'ignore' 或 者'replace' |
|
|
以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace' |
|
|
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
|
|
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。 |
|
|
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
|
|
跟find()方法一样,只不过如果str不在 string中会报一个异常. |
|
|
如果 string 至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
|
|
如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
|
|
如果 string 只包含十进制数字则返回 True 否则返回 False. |
|
|
如果 string 只包含数字则返回 True 否则返回 False. |
|
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
|
|
如果 string 中只包含数字字符,则返回 True,否则返回 False |
|
|
如果 string 中只包含空格,则返回 True,否则返回 False. |
|
|
如果 string 是标题化的(见 title())则返回 True,否则返回 False |
|
|
如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
|
|
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
|
|
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 |
|
|
转换 string 中所有大写字符为小写. |
|
|
截掉 string 左边的空格 |
|
|
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
|
|
返回字符串 str 中最大的字母。 |
|
|
返回字符串 str 中最小的字母。 |
|
|
有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string. |
|
|
把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次. |
|
|
类似于 find()函数,不过是从右边开始查找. |
|
|
类似于 index(),不过是从右边开始. |
|
|
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 |
|
|
string.rpartition(str) |
类似于 partition()函数,不过是从右边开始查找. |
|
删除 string 字符串末尾的空格. |
|
|
以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串 |
|
|
按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行. |
|
|
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查. |
|
|
在 string 上执行 lstrip()和 rstrip() |
|
|
翻转 string 中的大小写 |
|
|
返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) |
|
|
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 del 参数中 |
|
|
转换 string 中的小写字母为大写 |
|
|
返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0 |
|
|
isdecimal()方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。 |

浙公网安备 33010602011771号