【Python】 string
来源:互联网 发布:php 工作流 编辑:程序博客网 时间:2024/05/17 13:43
string: 字符串(即不能修改的字符list)
str = “Hello My friend”
字符串是一个整 体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。
子字符串的提取
str[:6]
字符串包含 判断操作符:in,not in
“He” in str
“she” not in str
string模块,还提供了很多方法,如
S.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]]) #反向查找
S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]])#同上反向查找
S.count(substring,[start [,end]]) #返回找到子串的个数
S.lowercase()
S.capitalize() #首字母大写
S.lower() #转小写
S.upper() #转大写
S.swapcase() #大小写互换
S.split(str, ‘ ‘) #将string转list,以空格切分
S.join(list, ‘ ‘) #将list转string,以空格连接
处理字符串的内置函数
len(str) #串长度
cmp(“my friend”, str) #字符串比较。第一个大,返回1
max(‘abcxyz’) #寻找字符串中最大的字符
min(‘abcxyz’) #寻找字符串中最小的字符
string的转换
oat(str) #变成浮点数,float(“1e-1″) 结果为0.1
int(str) #变成整型, int(“12″) 结果为12
int(str,base) #变成base进制整型数,int(“11″,2) 结果为2
long(str) #变成长整型,
long(str,base) #变成base进制长整型,
字符串的格式化(注意其转义字符,大多如C语言的,略)
str = “Hello My friend”
字符串是一个整 体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。
子字符串的提取
str[:6]
字符串包含 判断操作符:in,not in
“He” in str
“she” not in str
string模块,还提供了很多方法,如
S.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]]) #反向查找
S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]])#同上反向查找
S.count(substring,[start [,end]]) #返回找到子串的个数
S.lowercase()
S.capitalize() #首字母大写
S.lower() #转小写
S.upper() #转大写
S.swapcase() #大小写互换
S.split(str, ‘ ‘) #将string转list,以空格切分
S.join(list, ‘ ‘) #将list转string,以空格连接
处理字符串的内置函数
len(str) #串长度
cmp(“my friend”, str) #字符串比较。第一个大,返回1
max(‘abcxyz’) #寻找字符串中最大的字符
min(‘abcxyz’) #寻找字符串中最小的字符
string的转换
oat(str) #变成浮点数,float(“1e-1″) 结果为0.1
int(str) #变成整型, int(“12″) 结果为12
int(str,base) #变成base进制整型数,int(“11″,2) 结果为2
long(str) #变成长整型,
long(str,base) #变成base进制长整型,
字符串的格式化(注意其转义字符,大多如C语言的,略)
str_format % (参数列表)
String模块中的常量:
string.digits:数字0~9
string.letters:所有字母(大小写)
string.lowercase:所有小写字母
string.printable:可打印字符的字符串
string.punctuation:所有标点
string.uppercase:所有大写字母
- >>> import string
- >>> string.digits
- '0123456789'
- >>> string.letters
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
- >>> string.lowercase
- 'abcdefghijklmnopqrstuvwxyz'
- >>> string.printable
- '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
- >>> string.punctuation
- '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
- >>> string.uppercase
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1、find函数
在一个较长的字符串中查询子字符串,返回子串所在位置最左端索引,没有找到返回-1
可以选择起始点和结束点
- >>> title = "Monty Python's Flying Circus"
- >>> title.find('Monty')
- 0
- >>> title.find('monty')
- -1
- >>> title.find('Python')
- 6
- >>> title.find('Python', 3)
- 6
- >>> title.find('Python', 3, 10)
- -1
2、join函数
在队列中添加元素(只能操作于字符串,返回一个修改后的字符串,但是原字符串不改变)
- >>> seq = ['1', '2', '3', '4', '5']
- >>> sep = '+'
- >>> sep.join(seq)
- '1+2+3+4+5'
- >>> seq
- ['1', '2', '3', '4', '5']
- >>> dirs = '', 'usr', 'bin', 'env'
- >>> '/'.join(dirs)
- '/usr/bin/env'
- >>> print 'C:' + '\\'.join(dirs)
- C:\usr\bin\env
逆方法:split函数
将字符串分割成序列,返回该序列,原字符串不改变
- >>> word = '1+2+3+4+5'
- >>> word.split('+')
- ['1', '2', '3', '4', '5']
- >>> word
- '1+2+3+4+5'
3、lower函数
返回字符串的小写字母版
扩展:
- >>> 'fafDAWdfaweDWED'.lower()
- 'fafdawdfawedwed'
title函数:首字母大写,其他小写
capwords函数:功能同上,为string模块中函数
- >>> "that's all folks".title()
- "That'S All Folks"
- >>> import string
- >>> string.capwords("that's all folks")
- "That's All Folks"
4、replace函数
返回某字符串所有匹配项均被替换之后得到的字符串,原字符串不改变
- >>> word = 'this is a test'
- >>> word.replace('is', 'eez')
- 'theez eez a test'
- >>> word
- 'this is a test'
maketrans函数:功能同上,string中的转换表,共有256个项目,函数接受2个等长的字符串,第一个字符串中的每个字符都用第二个字符串中相应位置的字符来进行替换
maketrans类似于一种规则,经常与translate结合,以完成一些普通函数无法完成的字符串替换
- >>> from string import maketrans
- >>> table = maketrans('cs', 'kz')
- >>> len(table)
- 256
- >>> table[97:123]
- 'abkdefghijklmnopqrztuvwxyz'
- >>> maketrans('','')[97:123]
- 'abcdefghijklmnopqrstuvwxyz'
translate函数:功能同上,但是只能处理单个字符,有2个参数,第一个是替换,第二个是删除
例:table承继maketrans中的table
- >>> 'this is an incredible test'.translate(table)
- 'thiz iz an inkredible tezt'
- >>> 'this is an incredible test'.translate(table, ' ')
- 'thizizaninkredibletezt'
5、strip函数
去除两侧(不包括内部)空格的字符串,原序列不变
可在strip()加入参数,以去除想要去掉的指定字符
- >>> word = ' this is test '
- >>> word.strip()
- 'this is test'
- >>> word
- ' this is test '
- >>> '*** SPAM * for * everyone!!! ***'.strip('*')
- ' SPAM * for * everyone!!! '
- >>> '*** SPAM * for * everyone!!! ***'.strip('* ')
- 'SPAM * for * everyone!!!'
- >>> '*** SPAM * for * everyone!!! ***'.str
0 0
- Python - string
- Python string
- 【Python】 string
- Python---string
- python String
- python string
- python string
- python string.translate string.maketrans()
- python string解析
- Python-String-Function
- python string Template
- Python-String-Function
- Python String translate() Method
- Python 之string
- python string hash 函数
- python 之 string() 模块
- Learning Python(4) String
- python format string
- int main(int argc, char* argv[])
- PreparedStatement和Statement区别
- 小结九种图
- JNI编程:C++回调Java函数
- 记一次在linux 平台上的优化调试
- 【Python】 string
- java中异常详解
- 安装valgrind时报错
- Zigbee之Z-Stack
- OpenGL一: 初始化窗口,简单画图
- ASP.NET网站性能优化之成员资格,角色,配置文件的优化
- POJ分类
- Android适配器之BaseAdapter
- Eclipse上运行Android程序时,总出现emulator-5554 disconnected!的解决方法