Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1366953
  • 博文数量: 243
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 2955
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-05 14:33
个人简介

漫漫长路,其修远兮!

文章分类

全部博文(243)

文章存档

2017年(2)

2016年(22)

2015年(32)

2014年(57)

2013年(107)

2012年(23)

分类: Python/Ruby

2014-04-11 15:21:09

String模块中的常量:

string.digits:数字0~9

string.letters:所有字母(大小写)

string.lowercase:所有小写字母

string.printable:可打印字符的字符串

string.punctuation:所有标点

string.uppercase:所有大写字母

[html] view plaincopy
  1. >>> import string  
  2. >>> string.digits  
  3. '0123456789'  
  4. >>> string.letters  
  5. 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'  
  6. >>> string.lowercase  
  7. 'abcdefghijklmnopqrstuvwxyz'  
  8. >>> string.printable  
  9. '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'  
  10. >>> string.punctuation  
  11. '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'  
  12. >>> string.uppercase  
  13. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'  
1、find函数

在一个较长的字符串中查询子字符串,返回子串所在位置最左端索引,没有找到返回-1

[html] view plaincopy
  1. >>> title = "Monty Python's Flying Circus"  
  2. >>> title.find('Monty')  
  3. 0  
  4. >>> title.find('monty')  
  5. -1  
可以选择起始点和结束点
[html] view plaincopy
  1. >>> title.find('Python')  
  2. 6  
  3. >>> title.find('Python', 3)  
  4. 6  
  5. >>> title.find('Python', 3, 10)  
  6. -1  

2、join函数

在队列中添加元素(只能操作于字符串,返回一个修改后的字符串,但是原字符串不改变)

[html] view plaincopy
  1. >>> seq = ['1', '2', '3', '4', '5']  
  2. >>> sep = '+'  
  3. >>> sep.join(seq)  
  4. '1+2+3+4+5'  
  5. >>> seq  
  6. ['1', '2', '3', '4', '5']  
  7. >>> dirs = '', 'usr', 'bin', 'env'  
  8. >>> '/'.join(dirs)  
  9. '/usr/bin/env'  
  10. >>> print 'C:' + '\\'.join(dirs)  
  11. C:\usr\bin\env  

逆方法:split函数

将字符串分割成序列,返回该序列,原字符串不改变

[html] view plaincopy
  1. >>> word = '1+2+3+4+5'  
  2. >>> word.split('+')  
  3. ['1', '2', '3', '4', '5']  
  4. >>> word  
  5. '1+2+3+4+5'  

3、lower函数

返回字符串的小写字母版

[html] view plaincopy
  1. >>> 'fafDAWdfaweDWED'.lower()  
  2. 'fafdawdfawedwed'  
扩展:

title函数:首字母大写,其他小写

[html] view plaincopy
  1. >>> "that's all folks".title()  
  2. "That'S All Folks"  
capwords函数:功能同上,为string模块中函数

[html]
 view plaincopy
  1. >>> import string  
  2. >>> string.capwords("that's all folks")  
  3. "That's All Folks"  

4、replace函数

返回某字符串所有匹配项均被替换之后得到的字符串,原字符串不改变

[html] view plaincopy
  1. >>> word = 'this is a test'  
  2. >>> word.replace('is', 'eez')  
  3. 'theez eez a test'  
  4. >>> word  
  5. 'this is a test'  

maketrans函数:功能同上,string中的转换表,共有256个项目,函数接受2个等长的字符串,第一个字符串中的每个字符都用第二个字符串中相应位置的字符来进行替换

maketrans类似于一种规则,经常与translate结合,以完成一些普通函数无法完成的字符串替换

[html] view plaincopy
  1. >>> from string import maketrans  
  2. >>> table = maketrans('cs', 'kz')  
  3. >>> len(table)  
  4. 256  
  5. >>> table[97:123]  
  6. 'abkdefghijklmnopqrztuvwxyz'  
  7. >>> maketrans('','')[97:123]  
  8. 'abcdefghijklmnopqrstuvwxyz'  

translate函数:功能同上,但是只能处理单个字符,有2个参数,第一个是替换,第二个是删除

例:table承继maketrans中的table

[html] view plaincopy
  1. >>> 'this is an incredible test'.translate(table)  
  2. 'thiz iz an inkredible tezt'  
  3. >>> 'this is an incredible test'.translate(table, ' ')  
  4. 'thizizaninkredibletezt'  

5、strip函数

去除两侧(不包括内部)空格的字符串,原序列不变

[html] view plaincopy
  1. >>> word = '   this is test    '  
  2. >>> word.strip()  
  3. 'this is test'  
  4. >>> word  
  5. '   this is test    '  
可在strip()加入参数,以去除想要去掉的指定字符
[html] view plaincopy
  1. >>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('*')  
  2. '  SPAM  *  for  *  everyone!!!  '  
  3. >>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('* ')  
  4. 'SPAM  *  for  *  everyone!!!'  
  5. >>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('* !')  
  6. 'SPAM  *  for  *  everyone' 
阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~