Python-字符串操作和字符串函数

 

字符串操作

 

+:字符串连接操作

wo1='你好!'
wo2=' 世界'
so = wo1 + wo2
print(so)

结果:
你好! 世界

 

*:字符串复制操作

wo = '你好! 世界\n'
so = wo * 3
print(so)

结果:
你好! 世界
你好! 世界
你好! 世界

##我在wo的变量中加了换行符,不然运算结果就会显示在一行上,不会换行

 

[]:字符串索引操作,通过索引访问指定位置的字符,索引从0开始

wo = '你好!世界'
print(wo[2])

结果:
!

##
从开始值,以0开始
从结果值,以-1开始

 

[::]:字符串取片操作

        完整格式[开始索引:结束索引:间隔值]

        [:结束索引]:从开头截取到结束索引之间

        [开始索引:]:从开始索引截取到字符串的最后

        [开始索引:结束索引]:从开始索引截取到结束索引之前

        [:]:截取所有字符

        [开始索引:结束索引:间隔值]:从开始索引截取到结束索引之前按照指定的间隔来截取字符

##获取指定范围内的值

wo = '你好!世界'
print(wo[2:5])

结果:
!世界

##取从第2值到第四值,为什么没有第五个值,因为结果不包含结果值

--------------------

wo = '你好!世界'
print(wo[-4:-2])

结果:
好!

##注意顺序,截取的顺序都是从左开始的


====================================================================


##获取包含开头的字符

wo = '你好!世界'
print(wo[:2])

结果:
你好


====================================================================


获取包含结尾的字符

wo = '你好!世界'
print(wo[3:])

结果:
世界


====================================================================


获取整个字符串

wo = '你好!世界'
print(wo[:])

结果:
你好!世界


====================================================================


##通过制定的间隔值来获取字符串中的字符,隔二位取值

wo = '你好!世界'
print(wo[0:5:2])

结果:
你!界

##默认不写,是间隔一位取值

 

r'字符串':元字符串,所有字符串的转义字符不会转义,当作普通字符

wo = r'你好!\n世界'
print(wo)

结果:
你好!\n世界

##我在wo变量中有设定了换行符,因为加了r值,所以换行符不生效,被当前普通字符输出

 

 

 

 

字符串函数

 

capitalize()

功能:首字母大写

格式:字符串.capitalize()

返回值:新字符串

 

 

title()

功能:将每个单词首字母变为大写

格式:字符串.title()

返回值:新字符串

 

 

upper()

功能:将所有字母变为大写

格式:字符串.upper()

返回值:新字符串

 

 

lower()

功能:将所有字母变为小写

格式:字符串.lower()

返回值:新字符串

 

 

swapcase()

功能:大小写互换

格式:字符串.swapcase()

返回值:新字符串

 

 

len()

获取容器中数据的长度(字符串,元组,列表,字典,集合:都可以使用)

功能:计算字符串的长度

格式:len(字符串)

返回值:整型

wo = '你好!世界'
print(len(wo))

结果:
5

 

count()

计算制定字符串出现的次数

功能:计算指定字符串出现的次数

格式:字符串.count(查找字符串[,开始索引[,结束索引]])

返回值:整数

##全字符统计计算

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.count('世界'))

结果:
2

##计算在这字符串中,统计“世界”出现的次数


====================================================================


##指定范围统计

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.count('世界',0,5))

结果:
1

##从字符的0位字符到5位字中,统计“世界”出现的次数,不包含结果值

 

find()

根据制定的字符获取第一次出现的索引位置

功能:查找指定字符串第一次出现的位置

格式:字符串.find(查找字符串[,开始索引[,结束索引]])

返回值:整数 找不到返回-1

注意: find 和 index 的区别在于,当指定字符查找不到时,find返回-1,程序可以继续执行,而index则报错,程序无法继续执行

##全文查询

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.find('世界'))

结果:
3

##查询世界在第三位开始出现


===================================================================


##制定范围查询

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.find('世界',6))

结果:
7

##从指定的第6位开始查询,世界在第七位开始出现

 

index()

根据制定的字符获取第一次出现的索引位置

功能:查找指定字符串第一次出现的位置

格式:字符串.index(查找字符串[,开始索引[,结束索引]])

返回值:整数 找不到抛出错误!

注意: find 和 index 的区别在于,当指定字符查找不到时,find返回-1,程序可以继续执行,而index则报错,程序无法继续执行

##全文查询

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.index('世界'))

结果:
3

##查询世界在第三位开始出现


===================================================================


##制定范围查询

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.index('世界',6))

结果:
7

##从指定的第6位开始查询,世界在第七位开始出现

 

startswith()

功能:检测字符串是否以指定的字符串开头

格式:字符串.startswith(查找字符串)

返回值:布尔值

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.startswith('你好'))

结果:
True

##检测到是返回True值,检测到不是返回False值

 

endswith()

功能:检测字符串是否以指定的字符串结尾

格式:字符串.endswith(查找字符串)

返回值:布尔值

wo = '你好!世界,这世界很大,你肯定不去看看吗'
print(wo.endswith('吗'))

结果:
True

##检测到是返回True值,检测到不是返回False值

 

isupper()

功能:检测一个字符串中的英文是否都是大写字母,符号不算

格式:字符串.isupper()

返回值:布尔值

wo = 'HELLO!WORLD'
print(wo.isupper())

结果:
True

##检测到是返回True值,检测到不是返回False值

 

islower()

功能:检测一个字符串中的英文是否都是小写字母,符号不算

格式:字符串.islower() 

返回值:布尔值

wo = 'hello!world'
print(wo.islower())

结果:
True

##检测到是返回True值,检测到不是返回False值

 

isalnum()

功能:检测字符串是否由数字,字母和文字等组成

格式:字符串.isalnum()

返回值:布尔值 汉字当作普通字符处理,没有标点和特殊字符就是真,空字符串为false 

wo = 'hell11oworld人'
print(wo.isalnum())

结果:
True

 

isalpha()

功能:检测字符串是否有字母和文字组成

格式:字符串.isalpha()

返回值:布尔值,汉字当作普通字母处理。空字符串为false

wo = 'heloworld人'
print(wo.isalnum())

结果:
True

 

isdigit()

功能:检测字符串是否由纯数字组成 十进制

格式:字符串.isdigit()

返回值:布尔值

wo = '1111111111111'
print(wo.isdigit())

结果:
True

##检测字符串是否为数字或十进制

 

isnumeric()

功能:检测字符串是否是数值字符串 数字整数

格式:字符串.isnumeric()

返回值:布尔值

wo = '1111111111111'
print(wo.isunmeric())

结果:
True

##检测字符串是否为数字组成

 

isdecimal()

功能:检测字符串是否是纯数值字符串组成

格式:字符串.isdecimal()

返回值:布尔值

wo = '1111111111111'
print(wo.isdecimal())

结果:
True

##检测字符串是否为数字组成

 

isspace()

功能:检测字符串是否由空白字符组成

格式:字符串.isspace()

返回值:布尔值

wo = ' \n \t'
print(wo.isspace())

结果:
True

##换行符也算是空字符

 

istitle()

功能:检测字符串是否符合title()的结果

格式:字符串.istitle()

返回值:布尔值

wo = 'hello!world'
print(wo.istitle())

结果:
False

##测试到该字符串不符合title()的结果,符合为:Hello!World

 

split()

功能:将字符串按照指定字符进行切割操作

格式:字符串.split(切割指定字符串)

返回值:列表

wo = '业务:你好,大家好。老板:我好,全都好。医生:他好,我也好'
so = wo.split('。')
print(so)

结果:
['业务:你好,大家好', '老板:我好,全都好', '医生:他好,我也好']

##指定"。"进入切割后分别存储到列表中

 

splitlines()

功能:使用指定字符(回车),将字符串进行切割操作

格式:字符串.splitlines([结束符号])

返回值:列表

wo = '业务:你好,大家好\n老板:我好,全都好\n医生:他好,我也好'
so = wo.splitlines()
print(so)

结果:
['业务:你好,大家好', '老板:我好,全都好', '医生:他好,我也好']

##默认是以回车符号切割

 

join()

功能:将容器数据中的字符串使用制定的字符进行链接成一个字符串

格式:连接字符串.join(列表,元组)

返回值:字符串

wo = ['业务:你好,大家好','老板:我好,全都好','医生:他好,我也好']
so = '___'.join(wo)
print(so)

结果:
业务:你好,大家好___老板:我好,全都好___医生:他好,我也好

##使用___字符,将列表中的字符串链接起来

 

zfill()

功能:在原有字符串长度不足指定长度时,用0填充(0填充函数)

格式:字符串.zfill(指定长度)

返回值:字符串 不足的长度使用0填满,原来的字符串内容靠右

wo = '123'
so = wo.zfill(10)
print(so)

结果:
0000000123

##设置长度为10,如果长度不够,以0填充达到

 

center()

功能:指定字符串长度,并且使得元字符串内容居中,其余位置使用指定字符填充

         使用制定的字符将字符串填充至制定长度,原数据内容居中填充显示

格式: 字符串.center(指定长度[,填充字符])

返回值:字符串 填充字符默认空格,可以指定其他

wo = '心态'
so = wo.center(10,'!')
print(so)

结果:
!!!!心态!!!!

##指定字符串长度为10,如长度不够以"!"字符来填充,如果不指填充值,默认以空格填充,填充值居中显示,填充值只能是一个字符的长度

 

ljust()

功能:指定字符串长度,并且使得元字符串内容靠左,其余位置使用指定字符填充

         使用制定的字符将字符串填充至制定长度,原数据内容左对齐填充显示

格式:字符串.ljust(指定长度[,填充字符])

返回值:字符串 填充字符默认空格,可以指定其他

wo = '心态'
so = wo.ljust(10,'!')
print(so)

结果:
心态!!!!!!!!

##指定字符串长度为10,如长度不够以"!"字符来填充,如果不指填充值,默认以空格填充,填充值向左对齐显示,填充值只能是一个字符的长度

 

rjust()

功能:指定字符串长度,并且使得元字符串内容靠右,其余位置使用指定字符填充

         使用制定的字符将字符串填充至制定长度,原数据内容右对齐填充显示

格式:字符串.rjust(指定长度[,填充字符])

返回值:字符串 填充字符默认空格,可以指定其他

wo = '心态'
so = wo.rjust(10,'!')
print(so)

结果:
!!!!!!!!心态

##指定字符串长度为10,如长度不够以"!"字符来填充,如果不指填充值,默认以空格填充,填充值向右对齐显示,填充值只能是一个字符的长度

 

strip()

功能:去掉左右2侧的指定字符,默认空格

格式:字符串.strip([指定字符])

返回值:字符串

wo = '#######心态#######'
so = wo.strip('#')
print(so)

结果:
心态

##去除指定字符,如果没指定默认去除空格
##如果去除时,遇到不是指定字符的字符停止去除

 

lstrip()

功能:去掉左侧的指定字符,默认空格

格式:字符串.lstrip([指定字符])

返回值:字符串

wo = '#######心态#######'
so = wo.lstrip('#')
print(so)

结果:
心态#######

##去除指定字符,如果没指定默认去除空格
##如果去除时,遇到不是指定字符的字符停止去除

 

rstrip()

功能:去掉右侧的指定字符,默认空格

格式:字符串.rstrip([指定字符])

返回值:字符串 

wo = '#######心态#######'
so = wo.rstrip('#')
print(so)

结果:
#######心态

##去除指定字符,如果没指定默认去除空格
##如果去除时,遇到不是指定字符的字符停止去除

 

maketrans() 和 translate()

maketrans()

功能:制作用于字符串替换的映射表(制作字典)

格式: 字符串.maketrans('查找字符','替换字符') 两个字符必须长度相等

返回值:字典

 

translate()

功能:进行字符串替换操作(替换操作)

格式:字符串.translate(映射表)

返回值:替换之后的字符串

 

wo = '心态很重要,如果心态没把握好,很容易爆粗话,比如:草泥马'
so = ''.maketrans('草泥马','***')
do = wo.translate(so)
print(do)

结果:
心态很重要,如果心态没把握好,很容易爆粗话,比如:***

##在maketrans函数中替换的值,是一对一的,

 

 

转载请注明原文链接:Python-字符串操作和字符串函数

发表评论:

共有 0 条评论

 Top