对于字符串中大小写的控制,python中字符串对象提供了几个方法:
upper() :将字符串转成大写,并返回一个拷贝
lower() :将字符串转成小写,并返回一个拷贝
capitalize() :将字符串首字母,并返回一个拷贝
title() :将每个单词的首字母大写,并返回一个拷贝
isupper() :判断一个字符串是否是大写
islower() :判断一个字符串是否是小写
但python并没有提供判断是否首字母大写的函数,后面我们先对上面的函数应用做个举例,然后再自行编写一个判断一个字符串是否首字母大写的函数
str = "apple"
strUpper = str.upper()
strLower = strUpper.lower()
strCpl = str.capitalize()
newStr = "This is a title"
newStrTt = newStr.title()
#下面我们把上面运行的结果print 出来
print strUpper,strLower,strCpl,newStrTt
至于判断是否大小写的函数,直接返回的是True或False,这里就不举例了。
下面是摘自《Python.Cookbook》中的一段代码,作用是“判断一个字符串是不是capitalized:
import string
notrans = string.maketrans('','')
def containsAny(str,strset):
return len(strset) != len(strset.translate(notrans,str)
def iscapitalize(s):
return s == s.capitalize() and contransAny(s,string.letters)
string.maketrans('','')生成了一个不变的映射表
containsAny() :如果str不包含在strset中,则返回False 否则返回True
这里主要是为了避免传入的str不是字符,而是类似于str='9871230'(不含字母的字符串)或者是str=''(空字符串)这样的情况。