联系方式

咨询热线:400-998-6158

点击此处免费预约试听课程»

常见问题
学习资讯
学习资讯

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

相关课程