Python中的字符串函数
1.普通的连接操作
1 # 连接操作 2 s1 = "i love" 3 s2 = "liumeihong" 4 s3 = s1 + s2 5 print(s3)
2.字符串的乘法
1 # 字符串的乘法 2 s = "i love liu meihong" 3 s2 = s * 2 4 print(s2)
3.字符串可以当成列表
1 # 字符串当成列表 2 s = "i love liu meihong" 3 print(s[5]) 4 print(s[-1]) 5 6 s = "123456789" 7 print(s[2:6]) 8 print(s[:]) 9 10 # 切片返回的是否是一组全新的字符串 11 # 如果切片去一部分, 则返回全新字符串 12 # 如果取完整切片, 可能返回值内容指向同一字符串 13 14 s = "i love liumeihong and wangxiaojing" 15 s1 = s[:] 16 print(id(s)) 17 print(id(s1)) 18 19 # 不能直接对字符串进行下标元素赋值, 否则会导致错误 20 21 s1 [1] = 'A' 22 print(s) 23 print(s1)
4.capitalize() 首字母大写, 其余小写, 返回字符串
1 # capitalize() 首字母大写,其余小写, 返回字符串 2 3 s = "I Love LiuMeiHong" 4 print(s.capttalize())
5.title() 将每个单词的首字母变为大写,返回字符串
1 # title() 将每个单词的首字母变为大写, 返回字符串 2 s = "i love liuMEIHONG" 3 print(s.title())
6.upper() 将所有字符变为大写字母,返回字符串
1 # upper() 将每个字符变为大写字母,返回字符串 2 s = "i love liumeihong" 3 print(s.upper())
7.lower() 将所有字符变为小写字母,返回字符串
1 # lower() 将所有字符变为小写字母,返回字符串 2 s = "i LOVE liuMeiHong" 3 print(s.lower())
8.swapcase() 大小写互转, 返回字符串
1 # swapcase() 大小写互转, 返回字符串 2 s = "I Love lIU mEIhONG" 3 print(s.swapcase())
9.len() 计算字符串长度,备注:不属于字符串的内建函数
1 #len() 计算字符串长度, 不属于字符串的内建函数 2 # len统计长度是按照字符个数统计,一个汉字的长度为一个字符 3 4 s = "I Love Liumeihong" 5 s1 = "I Love 刘美红" 6 # 这里的长度是字符的长度, 并不是内存里的存储长度 7 print(len(s)) 8 print(len(s1))
10.find()和index()两个指定查找的区别:
1 # find() 查找指定字符串, 找不到返回-1 ,第一次找到返回第一次索引值 2 # index() 查找指定字符串, 找不到会报错 3 4 s = "asdfghjkl" 5 print(s.find('s', 3)) 6 print(s.index('a'))
11.count() 计算字符串出现次数, 返回整型
1 # count() 计算字符串出现次数, 返回整型 2 s = "asdfghjklasdfghjklasfhjkl" 3 print(s.count('s'))
12.startswith()和endswith(),两者返回值都是boolean
1 # startswith() 检测是否以指定字母开头, 返回boolean 2 # endswith() 检测是否以指定字母结尾,返回boolean 3 4 s = "I love liumeihong" 5 print(s.startswith('i')) 6 print(s.startswith('I')) 7 8 print('=' * 20) 9 10 print(s.endswith('n')) 11 print(s.endswith('g'))
13.isupper() 检测所有字符是否是大写字母,
1 # isupper() 检测所有字母是否是大写字母, 返回的是boolean, 有返回true没有返回false 2 s = "f狗gh" 3 s1 = "DF狗GH" 4 print(s.isupper()) 5 print(s1.isupper()) 6 7 print('=' * 20) 8 9 # islower() 检测所有字符是否是小写字母 10 print(s.islower()) 11 print(s1.islower()) 12 13 print('=' * 20) 14 15 # istitle() 检测是否以指定标题显示(每个单词首字母大写) 16 print(s.istitle()) 17 print(s1.istitle()) 18 19 s2 = "I Like Dog" 20 print(s2.istitle()) 21 22 print('=' * 20) 23 24 # isspace() 检测字符串是否是空字符串 25 s = " " 26 s1 = "i like " 27 s2 = " "# 至少有一个, 否则返回false 28 print(s.isspace()) 29 print(s1.isspace()) 30 print(s2.isspace())
14.isalpha() 检测字符串是否是字母组成,返回boolean
1 # isalpha() 检测字符串是否是字母组成, 返回boolean 2 # 说明: 汉字在英文字符串包裹中呗当做字符处理 3 s = "I 狗like dog" 4 s1 = "I狗likedog" 5 print(s.isalpha()) 6 print(s1.isalpha()) 7 8 s2 = "狗like me" 9 print(s2.isalpha())
15.isalnum() 检测字符串是否有字母加数字组成,返回boolean
1 # isalnum() 检测字符串是否有字母加数字组成, 返回boolean 2 s = "I 狗li414ke dog" 3 s1 = "I狗likedog132132" 4 s2 = "505" 5 print(s.isalnum()) 6 print(s1.isalnum()) 7 print(s2.isalnum())
16.isdigit()&isdecimal()&isnumeric() 检测字符串是够由数字组成
1 # isdigit() 检测字符串是否由数字组成 2 # isdecimal() 3 # isnumeric() 4 5 s = "123" 6 print(s.isdigit()) 7 print(s.isdecimal()) 8 print(s.isnumeric()) 9 10 print('=' * 20) 11 12 s = b"101100" 13 print(s.isdigit()) 14 # print(s.isdecimal())会报错 15 # print(s.isnumeric())会报错 16 17 print('=' * 20) 18 19 s = "123.2" 20 print(s.isdigit()) 21 print(s.isdecimal()) 22 print(s.isnumeric()) 23 24 print('=' * 20) 25 26 s = "三壹佰" 27 print(s.isdigit()) 28 print(s.isdecimal()) 29 print(s.isnumeric()) 30 31 print('=' * 20) 32 33 # 下面是罗马数字的3 34 s = "III" 35 print(s.isdigit()) 36 print(s.isdecimal()) 37 print(s.isnumeric())
17.split() 用指定字符切割字符串,返回有字符串组成的列表
1 # split() 用指定字符切割字符串, 返回有字符串组成的列表 2 s = "日照香炉生紫烟*遥看瀑布挂前川*飞流直下三千尺*疑是银河落九天" 3 print(s.split('*'))
18.splitlines() 一换行符切割字符串
1 # splitlines() 以换行符切割字符串 2 # 如果想要出现字符串内容换行, 不能使用""双引号来引住内容,要用三对单引号 3 4 s = '''日照香炉生紫烟\n疑是\n银河落九天 5 飞流直下三千尺 6 ''' 7 print(s.splitlines())
19.join() 将列表按照指定字符串链接, 返回字符串
1 # join() 将列表按照指定字符串链接, 返回字符串 2 3 list1 = ['日照香炉生紫烟', '遥看瀑布挂前川', '飞流直下三千尺', '疑是银河落九天'] 4 s = '*'.join(list1) 5 print(s)
20.ljust()¢er()&rjust()
1 # ljust() 指定字符串的长度, 内容靠左边, 不足的位置用指定字符填充,返回字符串 2 3 s = 'abc' 4 print(len(s)) 5 print(s.ljust(5) + 'a') 6 7 # center() 指定字符串长度, 内容居中, 不足的位置用指定字符填充,默认空格,返回字符串 8 print(s.center(5, '#')) 9 10 # rjust() 指定字符串的长度,内容靠右边, 不足的位置用指定字符填充,默认空格,返回字符串 11 print(s.rjust(5, '#'))
21.strip() & lstrip() & rstrip()
1 # strip() 去掉左右两边指定字符, 默认是去掉空格 2 # lstrip() 去掉左侧指定字符, 默认去掉空格 3 # rstrip() 去掉右侧指定字符, 默认去掉空格 4 5 s = ' abc' 6 print('---'+s.strip()+'---') 7 print('---'+s+'---') 8 9 s = 'aaabcc' 10 print(s.lstrip('a')) 11 print(s.lstrip('b')) 12 13 # 在字符串'aaabcc'中, b在整个字符串中间位置, 不论是从左开始还是从右开始,b都不是第一个字符, 在lstrip()或者rstrip()中只是针对左或右的第一字符开始 14 print(s.rstrip('b')) 15 print(s.rstrip('c'))
22. zfill() 指定字符串长度, 内容靠右, 不足的位置用0填充
1 # zfill() 指定字符串长度, 内容靠右, 不足的位置用0填充 2 3 s = 'abc' 4 print(s.zfill(5))
23.maketrans() & translate()
1 # maketrans() 生成用于字符串替换的映射表, 要求替换的字符长度需要一样才可以 2 # translate() 进行字符串替换 3 4 s = "今天晚上我吃的是鸡公煲, 美滋滋!" 5 table = s.maketrans('鸡公煲', '麻辣烫') 6 # table = s.maketrans('鸡公煲', '麻辣烫和烤串'),如果这样会报错 7 8 print(table) 9 print(s.translate(table))