吴老的《selenium webdriver 实战宝典》出版了! 一.学习内容* 字符串切割 * 字符串连接 * 测试字符串 * 映射 * 解码编码 * 统计 二.字符串函数-切割1.split (s,count)-将字符串以s进行切割,count为切割次数,不写默认全部切割a.split('am') a.split('am',1) a.split('am',2) 2.小练习-输出一个字符串的单词个数#encoding=utf-8 def count_string(s): s=s.replace(","," ").replace('!',' ') b=s.split() return len(b) s='I am a boy,and handsome!' print count_string(s) 代码为: 法二: len("i am a boy,and handsom!".replace(",","").replace("!","").split()) 3.rsplit (s,count)-将字符串从右边以s进行切割,count为切割次数,不写默认全部切割a='iamymliamlearing' a.rsplit('am',1) a.rsplit('am') 4.splitlines ([bool])-按照分隔符分隔字符串bool默认为falsea='1\n2\n' print a.splitlines() print a.splitlines(False) print a.splitlines(True) print a.splitlines(1) 小练习:输出文件有多少行内容,多少字符 代码为: #encoding=utf-8 withopen("C:\\Users\\yumeiling\\Desktop\\a.txt") as fp: content=fp.read() print u'行数:',len(content.splitlines())#文件有多少行 print u'个数:',len("".join(content.splitlines())) #文件有多少个字母 运行结果: 三.字符串函数-join连接1.rule.join(list):按rule来连接list ,要求list中每项要为字符串a=['4','s','ds'] ''.join(a) '','.join(a) ' '.join(a) 四.字符串函数-测试字符串1.startswith(s):判断字符串是否以s开头a='iamymliamlearing' a.startswith('i') a.startswith('b') 2.endswith(s):判断字符串是否以s结尾a='iamymliamlearing' a.endswith('b') a.endswith('g') 3.isalnum ():判断是否为字母或数字,是返回True,否返回False,且至少有一个字符'abc2'.isalnum() 'abcd'.isalnum() 4.isalpha (s):判断s是否为字母,是返回True,否返回False,且至少有一个字母'abcd'.isalpha() 'abc3'.isalpha() 5.isdigit ():判断s是否为数字,是返回True,否返回False'abc2'.isdigit() '442'.isdigit() 6.isspace ():判断是否为空格,是返回True,否返回False,不可见字符也会返回True'abc3 '.isspace() ' '.isspace() ''.isspace() '\r\n\t '.isspace() 7.islower ():判断是否为小写,是返回True,否返回False,字符串中有数字不影响结果'abc'.islower() 'abC'.islower() 8.isupper ():判断是否为大写,是返回True,否返回False,字符串中有数字不影响结果'abC'.isupper() 'ABC'.isupper() 'ABC1234'.isupper() 9.istitle ():判断每个单次的首字母是否为大写,是返回True,否返回False'I Am Is Yml23'.istitle() 'I Am Is yml23'.istitle() 五.字符串函数-映射1.translate (rule,[delstr]):将字符串按rule规则进行映射,并且可用删除delstr字符串,默认delstr为空即不删除,先删除后ruleimport string s=string.maketrans('abc','def') 'iamabcgh'.translate(s) 'abcabcabc'.translate(s) 将a映射成d,将b映射成e,将c映射成f import string rule=string.maketrans('abc','def') 'iamymliamlearingabc'.translate(s,'am') #删除字符串中的所有‘am’字符 2.str和string的区别str是类型,string是模块,python3以后就没有string了,因为3中都是unicode了。 七.字符串函数-解码和编码1.encode()编码,decode()解码str = "this is stringexample....wow!!!"; str = str.encode('base64','strict'); print "Encoded String: " str; print "Decoded String: " str.decode('base64','strict') 八.字符串函数-统计count1.count(s):统计字符串中s出现的次数'abcab'.count('a') 'abcab'.count('ab') 'abcab'.count('abc') 2.统计一下一个英文句子中,出现的字母个数代码为: #encoding=utf-8 import string def count_num(s): dicts={} for i in s: if i in string.ascii_letters: dicts[i]=s.count(i) for k,v in dicts.items(): print u'字母%s,出现次数:%s' % (k,v) s="my name is yml my age is 25" count_num(s) 运行结果: 法二: #encoding=utf-8 def count_num(s): dicts={} for i in s: if i.isalpha(): dicts[i]=s.count(i) return dicts s="my name is yml my age is 25" print count_num(s) 运行结果为: 法三: #encoding=utf-8 import string def count_letter_occurence(sentence): letter_count_result={} #存储统计结果 for letter in sentence: #遍历每一个字 if letter in string.letters:#letter.isalpha() 也可以判断 if letter_count_result.has_key(letter):#key在不在字典中 letter_count_result[letter] =1 #在的话就 1 else: letter_count_result[letter]=1 #第一次出现,则设定为1 return letter_count_result #返回这个字典 sentence=raw_input("please input asentence to counet letter occurence times:") print count_letter_occurence(sentence) 运行结果为: 安装喜马拉雅app,搜索“光荣之路”可以收听吴老和他的朋友们分享的35小时测试知识语音 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|