python字符串常用方法的使用

89 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情

day3 2.字符串操作_哔哩哔哩_bilibili

以下是比较常用的15个字符串函数 image.png

1.首字母变大写

capitalize()

name='tom'
print('姓名首字母转换大写%s'%name.capitalize())

image.png

复制字符串

a='    hello    '
b=a
print(b)

这是相当于把a的值赋给了b

image.png

b的结果和a是一模一样的,对字符串来说这地方有点特殊。

那么a和b到底是不是同一个对象。在这里再引入一个新的函数,可以看a和b是不是同一个对象,其实就是看他俩是不是在同一个位置存储的数据。

print('a的内存地址%d'%id(a))    #id函数 可以查看一个对象的内存地址
b=a
print('b的内存地址%d'%id(b))
print(b)

image.png

发现a和b的内存地址是一样的,所以我们应该把a和b称之为一个对象,是对一个地址的数据的引用。它内存一样说明a和b目前这种情况下他俩住的是一个房间,是在一个房间里取的数据。这里有些抽象后面会深入的详细的去讲,在此只是把a对象的内存地址赋给了b。

2.是否 x结束/开始

endswith/startswith()

是否包含

他访问的结果是布尔类型的数据

是否x开始

startswith()

dataStr='I love Python'
print(dataStr.startswith('I'))

结果是True属于判断 image.png 就是判断查找的字符串中是否是我想要的数据为开头,结果是布尔类型的数据

是否x结束

endswith()

dataStr='I love Python'
print(dataStr.endswith('o'))

image.png

dataStr='I love Python'
print(dataStr.endswith('n'))

image.png

这是根据我们的需要提取数据中的一个非常有用的方法

3.检测x是否在字符串中

find()

查找字符串中某一些数据到底存不存在字符串当中

dataStr='I love Python' 

我们查找一下P这里存在不存在,如果存在应该返回什么样的数据。

dataStr='I love Python' 
print(dataStr.find('P'))  # 可以查找目标对象在序列对象中的位置,如果没找到就返回-1

查找子的字符串(字符)P在不在字符串当中,然后打印运行一下

image.png 运行发现返回的是数字7,这个数字就是P在这个字符串当中所对应的下标值。 检测一下是不是7

I love P
01234567

当有两个P时,返回的依然是7

image.png

当查找的数据不存在时,返回的是-1

image.png

index
dataStr='I love Python' 
print(dataStr.index('v'))   # 检测字符串是否包含子字符串 返回的是下标值

image.png index也可以查找,返回的也是数据下标值。

从产生的结果来看,他俩非常相似。

当查找的数据不存在时,就会报错。

image.png index如果没有找到对应的数据,便会报异常。而find函数不会,找不到返回-1。

4.判断是否是字母和数字

isalnum()

dataStr='123'
print(dataStr.isalnum())

image.png 如果是数字,返回的是True

dataStr='I love Python'
print(dataStr.isalnum())

image.png 如果是字母则返回的是False

5.判断是否是字母

isalpha()

dataStr='Python'
print(dataStr.isalpha())

image.png 字母并且没有空格,返回的是True


如果是一句话或者是数字的话,返回的就是False

dataStr='I love Python'
print(dataStr.isalpha())

image.png

dataStr='123'
print(dataStr.isalpha())

image.png

6.判断是否是数字

isdigit()

dataStr='123'
print(dataStr.isdigit())

image.png

dataStr='I love Python'
print(dataStr.isdigit())

image.png

7.判断是否是小写

islower()

dataStr='I love Python'
print(dataStr.islower())

image.png

dataStr='i love python'
print(dataStr.islower())

image.png

8.循环取出所有值用xx去连接

join()

dataStr='i love python'
print('+'.join(dataStr))

image.png

9.大小写转换

lower/upper


小写转换

dataStr='I love Python'
print(dataStr.lower())

image.png


大写转换

dataStr='I love Python'
print(dataStr.upper())

image.png

10.大写变小写,小写变大写

swapcase

dataStr='I love Python'
print(dataStr.swapcase())

image.png

11.去除空格

strip()

如果两边有空格应该怎么做?

a='    hello    '

用strip去除空格

a='    hello    '
b=a.strip()    #去除字符串两边的空格
print(b)

意思是用strip去除空格后,把数值赋值给b,用b变量接收这个数据。然后再打印一下b 当然了,也可以不接收,直接像上面的代码一样直接输出就行。 image.png

对比一下

image.png 说明strip具有去除空格的效果。

如果想指定的删除左边的空格的话,如下操作:

a='    hello    '
print(a.lstrip())  # 删除左边的空格

image.png 可以看到左边的空格没有了,但是右边的空格还在

如果想指定的删除右边的空格的话,如下操作:

a='    hello    '
print(a.rstrip())  # 删除右边的空格

image.png 可以看到右边的空格没有了,但是左边的空格还在

需要注意的是strip函数只能去除开头和结尾的空格。

12.切割字符串

split()

dataStr='I love Python'      # split不带参数的时候以空格进行分割标识
print(dataStr.split())

image.png

13.把每个单词的首字母变成大写

title()

dataStr='I love Python'
print(dataStr.title())

image.png

14.替换字符

replace(old,new,count=None)

old被换字符串,new替换字符串,count换多少个。无count表示全部替换。

dataStr='I love Python'       # 把大写P换成小写p
print(dataStr.replace('P','p'))

image.png

dataStr='I love P y t h o n'       # 替换空格
print(dataStr.replace(' ',''))

image.png

15.统计出现的次数

count()

统计o出现的次数

dataStr='I love Python'     # 统计o出现的次数
print(dataStr.count('o'))

image.png

分大小写

dataStr='hello Opps I love Python'     # 统计O出现的次数
print(dataStr.count('O'))

image.png