开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
以下是比较常用的15个字符串函数
1.首字母变大写
capitalize()
name='tom'
print('姓名首字母转换大写%s'%name.capitalize())
复制字符串
a=' hello '
b=a
print(b)
这是相当于把a的值赋给了b
b的结果和a是一模一样的,对字符串来说这地方有点特殊。
那么a和b到底是不是同一个对象。在这里再引入一个新的函数,可以看a和b是不是同一个对象,其实就是看他俩是不是在同一个位置存储的数据。
print('a的内存地址%d'%id(a)) #id函数 可以查看一个对象的内存地址
b=a
print('b的内存地址%d'%id(b))
print(b)
发现a和b的内存地址是一样的,所以我们应该把a和b称之为一个对象,是对一个地址的数据的引用。它内存一样说明a和b目前这种情况下他俩住的是一个房间,是在一个房间里取的数据。这里有些抽象后面会深入的详细的去讲,在此只是把a对象的内存地址赋给了b。
2.是否 x结束/开始
endswith/startswith()
是否包含
他访问的结果是布尔类型的数据
是否x开始
startswith()
dataStr='I love Python'
print(dataStr.startswith('I'))
结果是True属于判断
就是判断查找的字符串中是否是我想要的数据为开头,结果是布尔类型的数据
是否x结束
endswith()
dataStr='I love Python'
print(dataStr.endswith('o'))
dataStr='I love Python'
print(dataStr.endswith('n'))
这是根据我们的需要提取数据中的一个非常有用的方法
3.检测x是否在字符串中
find()
查找字符串中某一些数据到底存不存在字符串当中
dataStr='I love Python'
我们查找一下P这里存在不存在,如果存在应该返回什么样的数据。
dataStr='I love Python'
print(dataStr.find('P')) # 可以查找目标对象在序列对象中的位置,如果没找到就返回-1
查找子的字符串(字符)P在不在字符串当中,然后打印运行一下
运行发现返回的是数字7,这个数字就是P在这个字符串当中所对应的下标值。
检测一下是不是7
I love P
01234567
当有两个P时,返回的依然是7
当查找的数据不存在时,返回的是-1
index
dataStr='I love Python'
print(dataStr.index('v')) # 检测字符串是否包含子字符串 返回的是下标值
index也可以查找,返回的也是数据下标值。
从产生的结果来看,他俩非常相似。
当查找的数据不存在时,就会报错。
index如果没有找到对应的数据,便会报异常。而find函数不会,找不到返回-1。
4.判断是否是字母和数字
isalnum()
dataStr='123'
print(dataStr.isalnum())
如果是数字,返回的是True
dataStr='I love Python'
print(dataStr.isalnum())
如果是字母则返回的是False
5.判断是否是字母
isalpha()
dataStr='Python'
print(dataStr.isalpha())
字母并且没有空格,返回的是True
如果是一句话或者是数字的话,返回的就是False
dataStr='I love Python'
print(dataStr.isalpha())
dataStr='123'
print(dataStr.isalpha())
6.判断是否是数字
isdigit()
dataStr='123'
print(dataStr.isdigit())
dataStr='I love Python'
print(dataStr.isdigit())
7.判断是否是小写
islower()
dataStr='I love Python'
print(dataStr.islower())
dataStr='i love python'
print(dataStr.islower())
8.循环取出所有值用xx去连接
join()
dataStr='i love python'
print('+'.join(dataStr))
9.大小写转换
lower/upper
小写转换
dataStr='I love Python'
print(dataStr.lower())
大写转换
dataStr='I love Python'
print(dataStr.upper())
10.大写变小写,小写变大写
swapcase
dataStr='I love Python'
print(dataStr.swapcase())
11.去除空格
strip()
如果两边有空格应该怎么做?
a=' hello '
用strip去除空格
a=' hello '
b=a.strip() #去除字符串两边的空格
print(b)
意思是用strip去除空格后,把数值赋值给b,用b变量接收这个数据。然后再打印一下b
当然了,也可以不接收,直接像上面的代码一样直接输出就行。
对比一下
说明strip具有去除空格的效果。
如果想指定的删除左边的空格的话,如下操作:
a=' hello '
print(a.lstrip()) # 删除左边的空格
可以看到左边的空格没有了,但是右边的空格还在
如果想指定的删除右边的空格的话,如下操作:
a=' hello '
print(a.rstrip()) # 删除右边的空格
可以看到右边的空格没有了,但是左边的空格还在
需要注意的是strip函数只能去除开头和结尾的空格。
12.切割字符串
split()
dataStr='I love Python' # split不带参数的时候以空格进行分割标识
print(dataStr.split())
13.把每个单词的首字母变成大写
title()
dataStr='I love Python'
print(dataStr.title())
14.替换字符
replace(old,new,count=None)
old被换字符串,new替换字符串,count换多少个。无count表示全部替换。
dataStr='I love Python' # 把大写P换成小写p
print(dataStr.replace('P','p'))
dataStr='I love P y t h o n' # 替换空格
print(dataStr.replace(' ',''))
15.统计出现的次数
count()
统计o出现的次数
dataStr='I love Python' # 统计o出现的次数
print(dataStr.count('o'))
分大小写
dataStr='hello Opps I love Python' # 统计O出现的次数
print(dataStr.count('O'))