文章目录

  • 字符串相关函数
  • 1.字符串常量集合
  • 2.字符串大小写转换
  • 3.字符串内容判断
  • 4.字符串填充
  • 5.字符串搜索
  • 6.字符串替换
  • 7.字符串添加
  • 8.字符串修剪
  • 9.字符串切割



字符串相关操作大致总结以下9个部分,包括常用字符集合、大小写转换、判断字符元素类型、字符填充、字符串搜索、字符串替换、字符串添加、字符串修剪以及字符串分割。

字符串相关函数

1.字符串常量集合

import string

print(string.ascii_uppercase) #大写字母
print(string.ascii_lowercase) #小写字母
print(string.ascii_letters)   #大小写字母
print(string.digits)          #数字
print(string.punctuation)     #符号集合
print(string.printable)       #可输入字符合集,包括大小写字母数字和符号的合集

2.字符串大小写转换

str='hello,woRld!'
print(str.capitalize()) #仅首字母大写,Hello,world!
print(str.title())      #仅每个单词首字母大写,Hello,World!
print(str.upper())      #每个字母都大写,HELLO,WORLD!
print(str.lower())      #每个字母都小写,hello,world!
print(str.swapcase())   #大小写互换,HELLO,WOrLD!

3.字符串内容判断

num='123'
alp='asd'
num_alp='a1s2d'
printable='`~!@#$%'
print(num.isdigit())             #字符串中的字符是否都是数字,True
print(alp.isalpha())             #字符串中的字符是否都是字母,True
print(num_alp.isalnum())         #字符串中的字符是否都是字母和数字,True
print(printable.isprintable())   #字符串中的字符是否都是可输入字符,True
print(num.isnumeric())           #字符串中的字符是否都是数字,True
print(alp.islower())             #字符串中的字符是否都是小写字母,True
print(num_alp.isupper())         #字符串中的字符是否都是大写字母,False
print(alp.istitle())             #字符串中的字符是形如标题Hello World,False
print(' '.isspace())             #字符串中的字符是否都是空格,True
print('哈'.isascii())            #字符串中的字符是否可用ascll码表示,汉字是Unicode编码表示的所以是False

4.字符串填充

str='Welcome'
print(str.center(13,'*'))#***Welcome***
print(str.ljust(10,'+')) #Welcome+++
print(str.rjust(10,'-')) #---Welcome
print(str.zfill(10))     #000Welcome
print('-100'.zfill(10))  #-000000100
print('+100'.zfill(10))  #+000000100

5.字符串搜索

str='awasdhiwhhihuasd~hjdsasdihfi'
print(str.index('asd')) #str中有子字符串时回返回收自费所在索引值,若不存在则报错
try:
    print(str.index('aes'))
except ValueError as v:
    print(v)
print(str.find('asd')) #str中有子字符串时会返回首字母所在索引值,若不存在则返回-1
print(str.find('aes'))
print(str.count('asd')) #返回字符串中包含的子串个数
print(str.count('aes')) #不存在则返回0

6.字符串替换

str='hello,world!'
print(str.replace('world','python')) #生成替换字符的复制,hello,python!原字符串str未改变
print(str)          #hello,world!
str='awasdhiwhhihuasd~hjdsasdihfi'
print(str.replace('asd','ASD',2))    #awASDhiwhhihuASD~hjdsasdihfi

7.字符串添加

#join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串
#用法:str.join(sequence),sequence包括字符串、列表、元祖、集合及字典(字典仅连接key),其中列表、元祖和集合的元素都必须是字符串,否则会报错
lis=['I','am','IronMan!']
print(' '.join(lis)) #I am IronMan!
print('*'.join({'1','2'}))
print('-'.join('ABCD'))
print('+'.join(('a','b','c')))
print('~'.join({'a':1,'b':2}))

8.字符串修剪

b="qq-qeasdzxcrtqwe----"
print(b.strip('q')) #-qeasdzxcrtqwe----

9.字符串切割

b="this is string example"
print(b.split(' ')) #以空格为分割符进行切片 ['this', 'is', 'string']
partition(sep)对给定字符串进行切割,切割成三部分
首先搜索到字符串sep,将sep之前的部分为一部分,sep本身作为一部分,剩下作为一部分

partition()与rpartition()之间十分相似,主要不同体现在当字符串中没有指定sep时
partition()分为三部分,字符串、空白、空白
rpartition()分为三部分,空白、空白、字符串'''
test='haoiugdsgfasdhreiuufufg'
print(test.partition('asd')) #('haoiugdsgf', 'asd', 'hreiuufufg')
print(test.partition(' nji'))#('haoiugdsgfasdhreiuufufg', '', '')
print(test.rpartition('njj'))#('', '', 'haoiugdsgfasdhreiuufufg'