经常用到pyhton字符串的大小写转换, 这里梳理下:
1、对字符串中所有字符(仅对字母有效)的大小写转换,有两个方法:
- print 'just to test it'.upper() #所有字母都转换成大写
- JUST TO TEST IT
- print 'JUST TO TEST IT'.lower() #所有字母都转换成小写
- ust to test it
2、对字符串中的字符(仅对字母有效)部分大小写转换:
- print 'JUST TO TEST IT'.capitalize() #字符串的首字母转换成大写, 其余转换成小写
- Just to test it
-
- print 'JUST TO TEST IT'.title() #字符串中所有单词的首字母转换成大写, 其余转换成小写
- Just To Test It
3 判断字符串大小写函数:
- print 'JUST TO TEST IT'.isupper()
- True
-
- print 'JUST TO TEST IT'.islower()
- False
-
- print 'JUST TO TEST IT'.istitle()
- False
它们跟上面提到的几个方法是对应的;发现python没有提供iscapitalize方法, 那就自己写一个吧:
- #!/usr/bin/python
- import string
- notrans = string.maketrans('', '')
- def containAny(str, strset):
- return len(strset) != len(strset.translate(notrans, str))
- def iscapitalized(s):
- return s == s.capitalize() and containAny(s, string.letters)
上面用到了string.maketrans方法:
- In [8]: map = string.maketrans('123','abc') #创建映射表,将字符串含有123的替换成adc
- In [9]: print '123456'.translate(map)
- abc456
- In [10]: print '123456'.translate(map,'478') #用创建的映射表转换字符串,然后在根据后面的字符串‘478’,去掉相同的字符
- abc56
阅读(9769) | 评论(0) | 转发(0) |