Python基础知识字符串学习方法
Python基础知识字符串学习方法
大小写转换
方法lower( )、方法upper( )
>>>S='Life is simple, I use Python'
>>>S.lower()
'life is simple, i use python'
>>>S.upper()
'LIFE IS SIMPLE, I USE PYTHON'
返回S字符串的小写、大写格式。(注意,这是新生成的字符串,在另一片内存片段中)
>>> print('ab ABC'.lower())
ab abc
>>> print('ab CD'.upper())
AB CD
方法title( ),将每个单词的首字母大写
>>> print('sherlock holmes'.title())
Sherlock Holmes
2、字串搜索
方法cout( )
S.count(sub[,start[, end]])
返回字符串S中子串sub出现的次数,可以指定从哪里开始计算(start)以及计算到哪里结束(end),索引从0开始计算,不包括end边界。
>>> print('brubrubr'.count('br'))
3
>>> print('brubrubr'.count('br',1))
2 #index=1,即从‘r’开始查找,查找范围为‘rubrumm’
>>> print('brubrubr'.count('br',1,7))
1 #查找范围为‘rubrub’
>>> print('brubrubr'.count('br',1,8))
2 #查找范围为‘rubrubr’
方法endwith( )、方法startwith( )
S.endswith(suffix[, start[, end]])
S.startswith(prefix[, start[, end]])
endswith() 检查字符串S是否以suffix结尾,返回布尔值的True和False。suffix可以是一个元组(tuple)。可以指定起始start和结尾end的搜索边界。
同理 startswith() 用来判断字符串S是否是以prefix开头。
>>> print('abcdef'.endswith('def'))
True #搜索范围为‘abcdef’
>>> print('abcdef'.endswith('def',4))
False #搜索范围为‘ef’
>>> print('abcdef'.endswith('def',0,5))
False #搜索范围为‘abcde’
>>> print('abcdef'.endswith('def',0,6))
True #搜索范围为‘abcdef’
方法find( )、方法rfind( ) & 方法index( )、方法rindex( )
S.find(sub[, start[, end]])
S.rfind(sub[, start[, end]])
S.index(sub[, start[, end]])
S.rindex(sub[, start[, end]])
方法find( )搜索字符串S中是否包含子串sub,如果包含,则返回sub的索引位置,否则返回"-1"。可以指定起始start和结束end的搜索位置。
方法index( )和方法find( )一样,不同点在于当找不到子串时,抛出 ValueError 错误。
方法rfind( )则是返回搜索到的较右边子串的位置,如果只搜索到一个或没有搜索到子串,则和方法find( )是等价的。
方法rindex( )同理可知。
3、拼接字符串
+
Python中利用”+“来合并字符串的方法叫做拼接。
>>> print('abc'+'def')
abcdef
还记得Python中一个较经典的例子——”hello world“,我们对此做个小拓展,可以输出一个” hello xxxx“的输出。
>>> name='sherlock holmes'
>>> print("Hello," + name.title() + "!")
Hello,Sherlock Holmes!
4、分割
方法split( )、方法rsplit( )、方法splitlines( )
S.split(sep=None, maxsplit=-1)
S.rsplit(sep=None, maxsplit=-1)
S.splitlines([keepends=True])
这三个函数用来分割字符串,并生成一个列表。下面我们根据例子来理解一下三个函数的用法。
先来看方法split( )的用法:
>>> 'a,b,c'.split(',')
['a', 'b', 'c']
>>> 'a,b,c'.split(',',1)
['a', 'b,c'] #限定分割次数1
>>> 'a b c'.split(maxsplit=1)
['a', 'b c'] #maxsplit限定分割次数
>>> 'a,b,c'.split()
['a,b,c']
>>> 'a b c'.split()
['a', 'b', 'c'] #不指定sep时
方法split() 根据sep对S进行分割,maxsplit用于指定分割次数,如果不指定sep或者指定为None,则改变分割算法:以空格为分隔符。
方法rsplit( )和方法split()是一样的,只*是从右边向左边搜索。
下面来看看方法splitlines( ),它是用来专门用来分割换行符。
>>> ''.split('\n')
['']
>>> ''.splitlines()
[]
>>> 'OH MY GOD\n'.split('\n')
['OH MY GOD', '']
>>> 'OH MY GOD\n'.splitlines()
['OH MY GOD']
5、添加空白
\n 换行符
>>> print("Films:\nX-Men\nWonder\nMarvel's The Avengers")
Films:
X-Men
Wonder
Marvel's The Avengers
\n\t 换行符和制表符
>>> print("Films:\n\tX-Men\n\tWonder\n\tMarvel's The Avengers")
Films:
X-Men
Wonder
Marvel's The Avengers
6、修剪
方法strip( )、方法lstrip( )、方法rstrip( )
S.strip([chars]) #移除左右两边的字符chars,默认移除空白(空格、制表符、换行符)。
S.lstrip([chars]) #移除左边
S.rstrip([chars]) #移除右边
下面来看一下具体的例子:
>>> ' sherlock holmes '.lstrip()
'sherlock holmes '
>>> ' sherlock holmes '.rstrip()
' sherlock holmes'
>>> ' sherlock holmes '.strip()
'sherlock holmes'
>>> 'sherlock holmes'.lstrip('s')
'herlock holmes'
>>> 'sherlock holmes'.rstrip('s')
'sherlock holme'
>>> 'sherlock holmes'.strip('s')
'herlock holme'
另外,chars可以是多个字符序列。在移除时,只要是这个序列中的字符,都会被移除。
>>> print('www.example.com'.lstrip('cmowz.'))
example.com
>>> print('wwwz.example.com'.lstrip('cmowz.'))
example.com
>>> print('wwaw.example.com'.lstrip('cmowz.'))
aw.example.com
>>> print('www.example.com'.strip('cmowz.'))
example
更多培训课程,学习资讯,课程优惠等学校信息,请进入 天津东丽区Web培训天津东丽区Python培训天津津南区Linux云计算培训 网站详细了解,免费咨询电话:400-998-6158