Python 从入门到实战14(字符串相关操作)

        我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。

      上篇文章我们通过举例学习了字符串进行简单说明。今天继续讨论字符串相关的操作。

字符串的处理在实际的工作中经常会用到,需要熟练掌握才行。

1、字符串的截取

字符串也属于序列,可以进行切片操作。

切片的语法:   str_name[start:end:step]

参数说明:     str_name ----------表示要截取的字符串

               Start    -----------要截取的字符串的第一个字符索引,不指定的话默认为0

               End    -----------要截取的字符串最后一个字符索引,不指定则默认全部

               Step    ------------表示切片的步长,默认为1

举例说明:

str1 = "我爱祖国!"
str2 = 'I am Dewi,'
str_add = str2 + str1
print(str_add[0])#取第一个字符
print(str_add[1])#取第二个字符
print(str_add[2:10:2])#取第3个到第10,步长为2
print(str_add[2:10])#取第3个到第10

输出结果:

实际例子:如要取出身份证中的生日

credit_num = '123434199803248010'
print("这位同学的生日是:",credit_num[10:12],"-",credit_num[12:14])

输出结果:

这位同学的生日是: 03 – 24

2、字符串的分割

分割字符串可以使用split()方法来实现。

语法如下:strname.split(sep,maxsplit)

说明:  strname----------要分割的字符串

        Sep    ----------用于指定分隔符,可以包含多个分隔符,默认为None,即所有空字符(包含空格、换行“\n”、制表符“\t”等)

        Maxsplit ---------可选参数,用于指定分割的次数,不指定默认为-1,分割次数无限制。

返回值:分割后的字符串列表

举例说明:

str_sp = "I am dewi,I love China!"
print(str_sp)
list_sp = str_sp.split() #默认使用空格分割
print(list_sp)
list_sp1 = str_sp.split(",")#使用逗号分割
print(list_sp1)
str_baidu = "www.baidu.com"
print(str_baidu.split("."))#指定.来分割

输出结果:

3、字符串的合并

语法格式:strnew = string.join(iterable)

参数: strnew   ------生成新的字符串

       String   ---------字符串类型,用于指定合并时字符串的类型

       Iterable -------- 可迭代对象,该迭代对象中的所有元素被合并到一起,称为一个新的字符串,并且以string 分割开来。

举个小栗子:如  ['www', 'baidu', 'com']  百度的网址存在列表中,将其合并为字符串

str_baidu = "www.baidu.com"
list_baidu = str_baidu.split(".")#指定.来分割
print(list_baidu)
str_new_baidu = ".".join(list_baidu)#百度的列表合并为字符串,并用.分割
print(str_new_baidu)

输出结果:

4、检索字符串

在python中有关于字符串查找的方法,我们来讨论一些。

1)count()方法

使用count()方法用于检索指定字符串在另一个字符串中出现的次数。若是检索的字符串不存在,则返回0,否则返回具体的次数。

使用语法:   str.count(sub[,start[,end]])

说明:  str   --------表示原字符串

        Sub   -------表示子字符串

        Start   ------可选参数,检索的起始位置,不写默认从头开始(子字符串)

        End    ------可选参数,检索的结束位置,不写默认检索到结尾(子字符串)

举个例子:

#计算#出现的次数
str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工"
print("#出现的次数:",str_count.count("#"))
print("#职工出现的次数:",str_count.count("#职工"[0:3]))#注意0:3是之子字符串

输出结果参考:

2)find()方法

使用find()方法可以检索是否包含指定的字符串。如果检索的子字符串不存在,就返回-1,否在返回首次出现该子字符串时的索引。

参考语法:str.find(sub[start,end])

注意:其中str  : 表示被检索的字符串

Sub------表示子字符串,

Start -------可选参数,表示检索范围的起始位置的索引,不指定的从头开始检索

End  ---------可选参数,表示检索范围的结束位置的索引,不指定的检索到结尾

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.find("董"))

输出:1

3)index()方法

使用的index()方法检索字符串和find()方法类似。只是index()方-方法若是指定的字符串不存在时,会抛出异常。语法:str.index(sub[,start[,end]])

参数和上面类似

举例说明:

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.index("董"))    #索引为1
print(str_count.index("东"))    #查询到没有对应的子字符串

输出结果:

4)startswith()方法

使用startswith 方法查看字符串是不是以某个字符开头,若是返回True

若否返回False

举例说明:

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.startswith("董"))
print(str_count.startswith("#"))

输出如下:

5)endswith()方法

使用endswith() 方法查看字符串是不是以某个字符开头,若是返回True

若否返回False

举例说明:

str_count = "#董事长 #总经理 #保安队长 #保安队长 #职工 #职工 #职工 #职业"
print(str_count.endswith("董"))
print(str_count.endswith("#职业"))

今天先写到这里了,每天进步一点点。今天也要加油啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立黄昏粥可温

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值