Python str类型学习总结(一)

有序不可变
str1=‘i am a student’
有序:
str1[2:3]
不可变
1、字符串拼接+
i、+ 返回一个新的字符串

>>> s
'abc'
>>> s1='defg'
>>> s+s1
'abcdefg'

ii、“str”.join(interable)
将序列中的元素以指定的字符串str连接生成一个新的字符串
interable必须是字符串

>>> s='abc'
>>> s
'abc'
>>> ' '.join(s)
'a b c'
>>> 'test'.join(s)
'atestbtestc'

2、字符串分割
i、split(sep=None,maxsplit=-1) 从左至右
maxsplit指分割的次数

>>> s='i am a student'
>>> s
'i am a student'
>>> s.split()			#默认按照空白字符+ 分隔
['i', 'am', 'a', 'student']
>>> s.split('a')		#给定分隔符,分隔后,分隔符就不见了
['i ', 'm ', ' student']
>>> s.split('a',maxsplit=1)#给定分隔符和最大分隔次数
['i ', 'm a student']

ii、rsplit
从右至左

>>> s='ab kj kjksjfksj skdfj'
>>> s.split('k')
['ab ', 'j ', 'j', 'sjf', 'sj s', 'dfj']
>>> s.rsplit('k')
['ab ', 'j ', 'j', 'sjf', 'sj s', 'dfj']

从左至右和从右至左 分割结果都是一样的

>>> s.rsplit('k',maxsplit=2)     #
['ab kj kjksjf', 'sj s', 'dfj']
>>> s.split('k',maxsplit=2)
['ab ', 'j ', 'jksjfksj skdfj']

iii、spiltlines(keepends)
按分隔符\n分割,返回一个list
keepends 默认false,可不填写,不保留换行符
在这里插入图片描述
为True时,保留\n换行符
在这里插入图片描述
v、partition(sep)—>(head,sep,tail)
按指定分割符分割,
如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
在这里插入图片描述

如果找不到分隔符,则只返回(head,’ ‘,’ ')在这里插入图片描述
vi、rpartition
从右向左开始找
在这里插入图片描述
注意partition和rpartition的区别

>>>s='i  am a student tes'
>>>s.partition('t')
('i  am a s', 't', 'udent tes')
>>> s.rpartition('t')
('i  am a student ', 't', 'es')

VII、字符串查找
i、find
1、teststr.find(‘substr’)
查找substr子串在指定字符串teststr中是否存在,如果存在,则返回索引值,如果不存在,则返回-1
在这里插入图片描述
2、rfind
从右开始找,但返回还是正索引
ii、index
功能同find,只是异常处理不同,找不到时返回ValueError
3、replace
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
4、startwith
startswith(substr, beg=0,end=len(string))
start,end可选参数,
字符串是否以suffix开始,返回True/False
在这里插入图片描述
5、endswith
str.endswith(suffix[, start[, end]])
start,end可选参数,
字符串是否以suffix结束,返回True/False
在这里插入图片描述
6、strip()/strip(words)
将words中的每一个字符,如果在字符串两端存在,则去除
不指定时 默认去除字符串两端的空格
在这里插入图片描述

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页