python中字符串操作尤为重要,下面就常用的字符串操作方法做一整理
字符串大小写变换
title :返回字符串的标题式样(即首字母大写)
upper :返回全大写字符串
lower:返回全小写字符串
swapcase:返回字符串大小写交换
s = " wWw.dqq.coM " print("1:",s.title()) print("2:",s.upper()) print("3:",s.lower()) print("4:",s.swapcase())
运行结果:
1: Www.Dqq.Com 2: WWW.DQQ.COM 3: www.dqq.com 4: WwW.DQQ.COm
字符串字母数字检查
isalnum : 检查所有字符串是否只有数字和字母,返回结果为True或False
isalpha: 检查字符串中是否只有字母
isdigit: 检查字符串字符是否全为数字
islower/isupper:检查字符串字符是否全为小写/大写
istitle:检查字符串字符是否为标题式样
startswitch:检查字符串字符是否以特定字符开头
endswitch:检查字符串字符是否以特定字符结尾
s = "wwwmfdkmg" print('1:',s.isalnum()) # 检查所有字符串是否只有数字和字母,返回结果为True或False print('2:',s.isalpha()) #检查字符串中是否只有字母,返回结果同上 print('3:',s.isdigit()) #检查字符串字符是否全为数字 print('4:',s.isupper()) #检查字符串字符是否全为小写 print('5:',s.islower()) #检查字符串字符是否全为大写 print('6:',s.istitle()) #检查字符串字符是否为标题式样 print('7:',s.startswith('ww')) #检查字符串是否以'ww'开头 print('8:',s.endswith('cmg')) #检查字符串是否以'cmg'结尾
运行结果:
1: True 2: True 3: False 4: False 5: True 6: False 7: True 8: False
字符串分割、剥离与连接
split:字符串分割
strip:字符串剥离
lstrip:字符串左剥离
rstrip:字符串右剥离
join:字符串连接
s = " wWw.dqq.com " print('1:',s.split('.')) #以"."进行字符串分割,返回结果为列表。以split()括号里的参数为标准进行字符串分割 print('2:',s.strip(' ')) #剥离字符串两端空格。 不指定参数时默认剥离首尾空格和换行 print('3:',s.lstrip(' w')) #剥离字符串左端空格和w print('4:',s.rstrip(' mo')) #剥离字符串右端空格及字符m和o print('5:',"-".join(s.split('.'))) #以“.”进行字符串分割后,再以“-”进行字符串连接
运行结果:
1: [' wWw', 'dqq', 'com '] 2: wWw.dqq.com 3: Ww.dqq.com 4: wWw.dqq.c5: wWw-dqq-com
字符串的查找与替换
count: 统计某个字符出现的次数
capitalize:字符串首字母大写(注意区分和title的区别)
find:找到这个字符返回下标,多个时返回第一个;不存在的字符返回-1
index: 找到这个字符返回下标,多个时返回第一个;不存在的字符报错
replace:字符串替换
center:字符串两边填充特定字符
s = "s2 wWw.dqq.com " print('1:',s.count('q')) print('2:',s.capitalize()) print('3:',s.find('q')) print('4:',s.index('c')) print('5:',s.replace('q','a')) print('6:',s.center(40,'*')) #输出一个两边用*补充的长度为40的字符串
运行结果:
1: 2 2: S2 www.dqq.com 3: 8 4: 11 5: s2 wWw.daa.com 6: ************s2 wWw.dqq.com *************
例子
name = "my name is alex" print(name.capitalize()) # 首字母大写 print(name.count("a")) # 统计整个字符中a的个数 print('aaaaa'.count("a", 0, len('aaaaa')-1)) # 前闭后开 print(name.center(50, "-")) # 打印50个字符,name在中间,不够的用-来填充 print(name.endswith("ex")) # 打印name是否以ex结尾 print(name.expandtabs(tabsize=30)) # 扩展\t为多少个空格 print(name.find("name")) # 找到name中最左边的‘name’的开始字母的下标 print(name[name.find("name"):name.find("name")+len("name")]) name1 = "my name is {_name}" print(name1.format_map({"_name": "Evan"})) # 用一个map来格式化 print(name.isalnum()) # 当只有字母或数字的时候返回True print('12asd'.isalpha()) # 是否是纯英文字符 print("2".isdecimal()) # 是否是十进制 方法检查字符串是否只包含十进制字符前面加 u print("1".isdigit()) # 是否是整数 print("1A".isidentifier()) # 判断是不是一个合法的表示符 也就是是不是一个合法的变量名 print("3333.3".isnumeric()) # 判断是不是只包含数字 print("aa".isspace()) # 判断是不是空格 print("My Name Is ".istitle()) # 每个首字母大写 print('My Name Is '.isprintable()) # 是否可以打印 tty file,drive file print("NN".isupper()) # 是否是大写 print("ll".islower()) # 是否是小写 print(",".join(['1', '2', '3'])) # 直接join字符串列表 print(name.ljust(50, '*')) # 把name放在最左面,写50个字符,不够的用*填充 print(name.rjust(50, '$')) # 把那么放在最有面,写50个字符,不够的用$填充 print('NAME'.lower()) # 全部转换为小写 print('name'.upper()) # 全部转换为大写 print('Alex\n'.rstrip()) # 去掉右边的回车和换行 print('Alex\n'.lstrip()) # 去掉左边的回车和换行 print('\nAlex\n'.strip()) # 去掉两边的回车和空格 p = str.maketrans('abcdef', '123456') # 制作一个翻译对照,一对一的 print('alex li'.translate(p)) # 翻译某个字符串 print('alex li'.replace('l', 'L')) # 替换 默认全部替换 print('alex li'.replace('l', 'L', 1)) # 替换几个 print('alex li'.rfind('l')) # 找到alex li 中最又边的‘name’的开始字母的下标 print('alex li'.split('l')) # 字符串分割为数组 默认为空格 print('123\n232323'.splitlines()) # 按行分割为数组 print('123'.startswith('1')) # 以1开始 print('Alex Li'.swapcase()) # 大小写互换 print('alex li'.title()) # 转换为标题 print('lex li'.zfill(50))
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接