Python 字符串操作和函数

枫铃3年前 (2021-09-30)Python247

字符串的相关操作

1.字符串的拼接 +

str1 = "我爱你"
str2 = "亲爱的祖国"
strvar = str1 + str2
strvar = str1 + "," +str2
print(strvar)

2.字符串的重复 *

strvar = "爱我中华\n"
res = strvar * 3
print(res)

3.字符串的跨行拼接 \

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333 
'''

strvar = "sdfsdfssdfsdjfsjkdfsaudfuiousoadfjklsadf8s98adfsahdfsajkdfhsjkadfh" \
"111222333444"
print(strvar)

4.字符串的索引

#          0 1 2 3 4 5 6 7 8 9    正向索引
strvar = "站起来的人一共是6个"
#        -10-9-8-7-6-5-4-3-2-1    逆向索引
print(strvar[-6])

5.字符串的切片: 切片就是截取

语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到字符串的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
(5)[:]或[::] 截取所有字符串

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

strvar = "好看的皮囊千篇一律,有趣的灵魂200多斤"
res = strvar[5:]
print(res)

(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)

最大值取不到,取到它之前的那个值

strvar = "好看的皮囊千篇一律,有趣的灵魂200多斤"
res = strvar[:9] # 8
print(res)

(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333 
'''

strvar = "好看的皮囊千篇一律,有趣的灵魂200多斤"
res = strvar[13:15]
print(res)
res = strvar[-7:-5]
print(res)

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

strvar = "好看的皮囊千篇一律,有趣的灵魂200多斤"
res = strvar[1:15:2]
# 1 3 5 7 9 11 13 
print(res) #看皮千一,趣灵
res = strvar[::-1] #从开头到结束;
print(res)
# -1 -2 -3 -4 -5 -6 -7 -8 -9 ...

(5)[:]或[::] 截取所有字符串

res = strvar[:]
res = strvar[::]
print(res)

字符串相关函数

1.capitalize 字符串首字母大写

strvar = "happy new year"
res = strvar.capitalize()
print(res)

2.title 每个单词的首字母大写

strvar = "happy new year"
# 非字母隔开的单词,首字符大写
strvar = "happy1new*year"
res = strvar.title()
print(res)

3.upper 将所有字母变成大写

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333 
'''

strvar = " aaa BBB cCD"
res = strvar.upper()
print(res)

4.lower 将所有字母变成小写

strvar = " aaa BBB cCD"
res = strvar.lower()
print(res)

5.swapcase 大小写互换

strvar = " aaa BBB cCD"
res = strvar.swapcase()
print(res)

6.len 计算字符串的长度

strvar = " aaa BBB cCD"
res = len(strvar)
print(res)

7.count 统计字符串中某个元素的数量

strvar = "我爱你亲爱的菇凉"
res = strvar.count("爱")
print(res)

8.find 查找某个字符串第一次出现的索引位置

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333 
'''

find("字符",start,end) end最大值取不到,取到它之前的那个数.
strvar = "oh Father this is My Favorite boy"
res = strvar.find("My")
print(res)
# 如果返回-1 , 代表找不到
res = strvar.find("s",0,14)
print(res)
res = strvar.find("b",-5,-1)
print(res)


# *index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
# res = strvar.index("b",0,3) error 
# print(res)

9.startswith 判断是否以某个字符或字符串为开头

'''startswith("字符串",start,end)'''
strvar = "oh Father this is My Favorite boy"
res = strvar.startswith("ogg")
print(res)
res = strvar.startswith("Father",3,20)
print(res)

10.endswith 判断是否以某个字符或字符串结尾

'''endswith("字符串",start,end)'''
res = strvar.endswith("boy",-3)
res = strvar.endswith("rite",-12,-4)
print(res)

11.isupper 判断字符串是否都是大写字母

strvar = "GOOD GOOD STUDY"
res = strvar.isupper()
print(res)

12.islower 判断字符串是否都是小写字母

strvar = "day day up"
res = strvar.islower()
print(res)

13.isalpha 判断字符串是否由字母和文字组成

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333 
'''

strvar = "sdfsdf中文121343"
res = strvar.isalpha()
print(res)

14.isdigit 检测字符串数是数字组成 接受二进制字节流

strvar = "121212uiu"
res = strvar.isdigit()
print(res)

"""
二进制字节流( bytes ) b开头 b"323" 但是有一定的局限性 只能是ascii编码;
功能用途: 用来传输或者存储用的


字符串:有一个个字符组成
字节流:有一个个字节组成

encode decode 两个函数来对中文进行二进制字节流的转换;
"""
strvar = b"@123"
# strvar = b"你好" b开头的字符串,不能转换中文
print(strvar,type(strvar))

strvar = b"9998877"
res = strvar.isdigit()
print(res)

15.isdecimal 检测字符串是否以数字组成 必须是纯数字

strvar = "999887789"
res = strvar.isdecimal()
print(res)

16.split 按某字符将字符串分割成列表(默认字符是空格)

strvar = "you can you up no you no bb"
lst = strvar.split() #默认分隔符是空格
print(lst) 

strvar = "you&can&you&up&no&you&no&bb"
lst = strvar.split("&")
# 可以选择分割的次数;
lst = strvar.split("&",3)
print(lst)

# r => right
strvar = "you&can&you&up&no&you&no&bb"
lst = strvar.rsplit("&")
lst = strvar.rsplit("&",2)
print(lst)

17.’’.join 按某字符将列表拼接成字符串(容器类型都可)

lst = ['you', 'can', 'you', 'up', 'no', 'you', 'no', 'bb']
# join 前面是以什么样的符号进行拼接字符串;
strvar = '^'.join(lst)
print(strvar)

18.center 填充字符串,原字符居中 (默认填充空格)

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333 
'''

strvar = "真好"
# 10这个数字代表的是总长度 元字符长度 + 填充的长度= 10
res = strvar.center(10)
res = strvar.center(10,"@")
print(res)

19.strip 默认去掉首尾两边的空白符 (\r \n \t 空格 )

strvar = "   大家好  ?  	"
res = strvar.strip()
print(res)

strvar = "@@学习@"
res = strvar.strip("@")
print(res)

20.replace() 替换字符串

strvar = "可爱的小狼狗喜欢吃肉,有没有,有没有,还有没有"
res = strvar.replace("有没有","真没有")
# 可以选择替换的次数
res = strvar.replace("有没有","真没有",2)
print(res)

总结:

*capitalize 字符串首字母大写 
*title 每个单词的首字母大写 
*upper 将所有字母变成大写
*lower 将所有字母变成小写 
*swapcase 大小写互换 
*len 计算字符串的长度 
*count 统计字符串中某个元素的数量 
*find 查找某个字符串第一次出现的索引位置 
*index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
*startswith 判断是否以某个字符或字符串为开头 
*endswith 判断是否以某个字符或字符串结尾 
*isupper 判断字符串是否都是大写字母 
*islower 判断字符串是否都是小写字母 
#istitle 判断字符串是否每个单词都首字母大写 
#isalnum 判断字符串是否是由数字、字母、汉字组成 
*isalpha 判断字符串是否由字母和文字组成 
*isdigit 检测字符串数是数字组成 接受二进制字节流 
*isdecimal 检测字符串是否以数字组成  必须是纯数字
#isnumeric 检测字符串是否以数字组成 接受中文"四"
#isspace   判断字符串是否由空白符组成
*split 按某字符将字符串分割成列表(默认字符是空格)
*join  按某字符将列表拼接成字符串(容器类型都可)
#splitlines 按换行来进行切分(\n)
#zfill  填充字符串(默认填充0,原字符串右对齐)
#ljust  填充字符串,原字符居左 (默认填充空格)
#rjust  填充字符串,原字符居右 (默认填充空格)
*center 填充字符串,原字符居中 (默认填充空格)
*strip  默认去掉首尾两边的空白符 
#rstrip 去掉右边某个字符 
#lstrip 去掉左边某个字符 
*replace()
	功能:   把字符串的旧字符换成新字符
	格式:   字符串.replace('旧字符','新字符'[, 限制替换的次数])
	返回值: 替换之后的字符串

#maketrans translate 是一对
maketrans()
	功能:   制作用于字符串替换的映射表
	格式:   字符串.maketrans('查找字符','替换字符')两个字符必须长度相等
	返回值: 字典
translate()
	功能:   进行字符串替换操作
	格式:   字符串.translate(maketrans返回的字典)
	返回值: 替换之后的字符串

相关文章

python从字符串中提取数字_filter

my_str = '123and456' number = filter(str.isdigit, my_str ) #...

Python教程:文件路径/目录获取教程

一、获取文件路径实现...

Python基础教程:新式类与经典类

Python基础教程:新式类与经典类

1、新式类 在 py3 里面的继承 object 的类,以及它的子类都是新式类 多继承的情况下,会按照广度优先的方式查找 为...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。