python string模块
2013-04-29 15:26
429 查看
[code] [code] #!/usr/bin/python
import string
funcs=[]
vars=[]
for element in dir(string):
name = "string.%s" %element
if callable(eval(name)):
funcs.append(name)
else:
vars.append(name)
[/code]
[/code]
结果如下:
vars: ['string.__builtins__', 'string.__doc__', 'string.__file__', 'string.__name__', 'string.__package__', 'string._idmap', 'string._idmapL', 'string._re', 'string.ascii_letters', 'string.ascii_lowercase', 'string.ascii_uppercase', 'string.digits', 'string.hexdigits', 'string.letters', 'string.lowercase', 'string.octdigits', 'string.printable', 'string.punctuation', 'string.uppercase', 'string.whitespace']
funcs: ['string.Formatter', 'string.Template', 'string._TemplateMetaclass', 'string._float', 'string._int', 'string._long', 'string._multimap', 'string.atof', 'string.atof_error', 'string.atoi', 'string.atoi_error', 'string.atol', 'string.atol_error', 'string.capitalize', 'string.capwords', 'string.center', 'string.count', 'string.expandtabs', 'string.find', 'string.index', 'string.index_error', 'string.join', 'string.joinfields', 'string.ljust', 'string.lower', 'string.lstrip', 'string.maketrans', 'string.replace', 'string.rfind', 'string.rindex', 'string.rjust', 'string.rsplit', 'string.rstrip', 'string.split', 'string.splitfields', 'string.strip', 'string.swapcase', 'string.translate', 'string.upper', 'string.zfill']
String的函数
函数 | 功能描述 | 实例 |
atof | string.atof(s) 如果是一个浮点数的字符串表示,则转换为浮点数。 否则异常。 | >>> string.atof('1.233') 1.2330000000000001 >>> string.atof('1.233s') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.6/string.py", line 388, in atof return _float(s) ValueError: invalid literal for float(): 1.233s |
capitalize | string.capitalize(s)返回字符串s的一个副本,这个副本的第一个字符大写 | >>> s='hello world' >>> string.capitalize(s) 'Hello world' |
capwords | string.capwords(s)每个单词的首字母大写。 | >>> s='hello world' >>> string.capwords(s) 'Hello World' >>> s='hello, world' >>> string.capwords(s) 'Hello, World' |
center | 通过左右填充达到指定长度,并使得给定字符串在中间位置。不会截断。 如果设定长度小于字符串长度,返回字符串。 | >>>str = 'test' >>>print str.center(1) >>>print str.center(10) test test |
count | 包含的字符串的个数 | >>> str = 'test' >>> str.count('t') 2 >>> str.count('a') 0 |
expandtabs | 调整tab的宽度。 | >>> str = 'test\ta' >>> print str test a >>> str.expandtabs(2) 'test a' >>> str.expandtabs(0) 'testa' |
find | 从左侧开始找到的位置的下标(即从左往右第一个match的),找不到返回-1 | >>> str = 'test' >>> str.find('se') -1 >>> str.find('es') 1 |
index | 类似于index,但是找不到会抛出异常 | >>> str = 'test' >>> str.index('a') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> str.index('e') 1 |
join | 将list或元组拼接成字符串,默认使用空格拼接 | >>> str1 = 'test' >>> str1.join(' ') ' ' >>> str1.join('world') 'wtestotestrtestltestd' >>> string.join('world') 'w o r l d' |
joinfields | 和join几乎等价。注意string对象没有该方法 | string.joinfields('world') 'w o r l d' >>> str1.joinfields('world') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'str' object has no attribute 'joinfields' |
ljust | 输出width个字符,不足使用空格。左对齐输出。 | >>> str1.ljust(1) 'test' >>> str1.ljust(2) 'test' >>> str1.ljust(3) 'test' >>> str1.ljust(6) 'test ' >>> string.ljust(str1, 2) 'test' >>> string.ljust(str1, 6) 'test ' |
lower | 小写表示 | >>> str = 'Hello World' >>> str.lower() 'hello world' |
lstrip | 去除左侧的,默认为空白符 | >>> str = ' Hello World ' >>> str.lstrip() 'Hello World ' >>> str = ' \tHello World ' >>> str.lstrip() 'Hello World ' >>> str.lstrip('e') ' \tHello World ' >>> str = 'eeee \tHello World ' >>> str.lstrip('e') ' \tHello World ' |
maketrans | 返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。否侧抛出异常 | >>> str1 = 'abcdef' >>> str2 = 'hijklm' >>> string.maketrans(str1,str2) '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`hijklmghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' |
replace | 字符串替换。 | >>> str1.replace('t','h') 'hesh' >>> str1 = 'test' >>> string.replace(str1, 'te','ha') 'hast' >>> string.replace(str1, 't','h') 'hesh' >>> str1.replace('t','h') 'hesh' |
rfind | 和find类似,只是返回的是最右侧位置的下标。即从左往右最后一个match的。 | >>> str = 'test' >>> str.find('es') 1 >>> str.rfind('es') 1 >>> str = 'testtest' >>> str.find('es') 1 >>> str.rfind('es') 5 |
rindex | 类似于index,从右侧开始 | |
rjust | 类似于rjust,右对齐输出。 | >>> str1.rjust(1) 'test' >>> str1.rjust(2) 'test' >>> str1.rjust(3) 'test' >>> str1.rjust(6) ' test' >>> string.rjust(str1, 2) 'test' >>> string.rjust(str1, 6) ' test' |
rsplit | string.rsplit(s[, sep[, maxsplit]]) 类似于split,区别为指定maxsplit时不同。 | >>> str1.split(' ',2) ['This', 'is', 'a test'] >>> str1='This is a test' >>> str1.split(' ',2) ['This', 'is', 'a test'] >>> str1.rsplit(' ',2) ['This is', 'a', 'test'] >>> str1.rsplit(' ',1) ['This is a', 'test'] >>> str1.split(' ',1) ['This', 'is a test'] |
rstrip | 类似于rstrip,去除右侧的符号, | |
split | 字符串切分,默认使用空白 | >>> str1 = 'test' >>> str1.split() ['test'] >>> str1.split('t') ['', 'es', ''] >>> str1.split('e') ['t', 'st'] >>> str1 = 'test one' >>> str1.split() ['test', 'one'] |
splitfields | 等价于split,string对象没有该方法 | >>> str1 = 'this is a test' >>> string.splitfields(str1) ['this', 'is', 'a', 'test'] >>> string.splitfields(str1,' ',2) ['this', 'is', 'a test'] |
strip | 去除两侧的空白符 | >>> str = ' this is a test ' >>> str.strip() 'this is a test' >>> str.lstrip() 'this is a test ' >>> str.rstrip() ' this is a test' |
swapcase | 字符串的大小写反转。 | >>> str = 'This is a Test' >>> str.swapcase() 'tHIS IS A tEST' >>> str = 'This is 1 Test' >>> str.swapcase() 'tHIS IS 1 tEST' |
translate | 使用maketrans产生的翻译表进行翻译 类似于字符串替换 | >>> str1 = 'abcdefg' >>> str2 = 'hijklmn' >>> table = string.maketrans(str1,str2) >>> str1.translate(table) 'hijklmn' >>> str2.translate(table) 'hijklmn' >>> str3 = 'opqrstu' >>> str3.translate(table) 'opqrstu' >>> str4 = 'hello world' >>> str4.translate(table) 'hlllo worlk' |
upper | 转为大写 | >>> str = 'this is a Test' >>> str.upper() 'THIS IS A TEST' |
zfill | 用0在左侧填充字符串到指定长度 | >>> str = 'hello world' >>> str.zfill(10) 'hello world' >>> str.zfill(20) '000000000hello world' |
refer:/article/5737676.html
相关文章推荐
- python之string模块 分类: python基础学习 python Module 2013-08-27 13:58 241人阅读 评论(0) 收藏
- Python 字符串操作及string模块使用
- Python random string模块
- python字符串String模块
- python的StringIO模块
- python之string模块常量:数字,26个字母,标点符号,空白
- python string模块
- python练习题——string模块
- python之string模块
- python字符串String模块
- python模块学习之string造测试数据
- Python3标准库解读——string模块
- 牛人总结python中string模块各属性以及函数的用法,果断转了,好东西
- Python字符串操作和string模块代码分析
- <python>string模块详解
- [笔记]python的StringIO与BytesIO模块
- python 之 string() 模块
- python string模块内建函数
- python中string模块各属性以及函数的用法介绍
- Python小模块--StringIO