更多课程 选择中心


Python培训

400-996-5531

Python基础知识字符串学习方法


1、大小写转换

方法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('#'.lstrip('cmowz.'))

#

>>> print('wwwz.#'.lstrip('cmowz.'))

#

>>> print('wwaw.#'.lstrip('cmowz.'))

aw.#

>>> print('#'.strip('cmowz.'))

example

由于 # 的前4个字符都是字符序列 cmowz. 中的字符,所以都被移除,而第五个字符e不在字符序列中,所以修剪到此结束。同理 wwwz.# ;wwaw.# 中第3个字符a不是字符序列中的字符,所以修剪到此结束。

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:8个Python问题新手必须掌握!
下一篇:为什么做大数据一定要学Python?

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省