python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页
一,sub和replace的用法
re.sub 函数进行以正则表达式为基础的替换工作
re.sub替换到目标字符串中的a,b或者c,并全部替换
另加上sub翻页操作:
re.sub('start=\d+','start=%d'%i,url,re.S)
>>> import re
>>> re.sub('[abc]','o','Mark')
'Mork'
>>> re.sub('[abc]','o','caps')
'oops'
>>
replace 用法介绍:
>>> a
'asds23DFG34'
>>> a.replace('s','M') #全部替换
'aMdM23DFG34'
>>> b = 'adfafafafa'
>>> b.replace('a','M',3) #指定个数的替换
'MdfMfMfafa'
二,find和index的用法
index,find 返回的都是找到的字符串的下标;find如果找不到返回的值 则是-1,而index直接抛出异常
a.find('t',start)从起始位置搜索
a.find('t',start,end)从指定位置开始搜索
a.rfind('t')从右边位置开始搜索
a.count('t') 搜索到多少个指定的字符
>>> a = ''
>>> a.find('')
0
>>> a.find(5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: expected a character buffer object
>>> a.find('')
1
>>> a
''
>>> f = a.find('M')
>>> f
-1
>>> f = a.find('') #返回的是字符串的第一个位置
>>> f
2
>>> f = a.find('')
>>> f
-1
''
>>> a.index('')
2
>>> a.index('')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> f = a.index('')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
三,大小写处理,upper,lower,swapcase,capitalize,title
>>> a
'123dfsdfs'
>>> a = 'asds23DFG34'
>>> a.upper() #全部大写
'ASDS23DFG34'
>>> a.lower() #全部小写
'asds23dfg34'
>>> a.swapcase() #大小写交换
'ASDS23dfg34'
>>> a.capitalize() #首字母大写其余小写
'Asds23dfg34'
>>> a.title()
'Asds23Dfg34' #子串,首字母大写
>>>
KeyboardInterrupt
四,strip的用法
Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。
这三个函数都可传入一个参数,指定要去除的首尾字符。
需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符
>>> a
'asds23DFG34'
>>> a.strip('a')
'sds23DFG34'
>>> a.strip('s')
'asds23DFG34'
>>> s = 'saaaay yes no yaaaass'
>>> s.strip('say') #两边都找
' yes no ' #两边各有一个空格
>>> s.lstrip('say') #只找左边
' yes no yaaaass'
>>> s.rstrip('say') #只找右边
'saaaay yes no '
五,split的用法
Python split()通过指定分隔符对字符串进行切片
语法 str.split('分隔符',num)
- str -- 分隔符,默认为空格。
- num -- 分割次数。
- 返回分割后的字符串列表
- 结果一:把\n归为了换行符,所以直接去掉了
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"
print str.split( )
print str.split(' ', 1 ) 以上实例输出结果如下:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']样例:
>>> str = "asd \dfa \dadf"
>>> str.split()
['asd', '\\dfa', '\\dadf'] #自动增加了换行符
>>> str = "asd \\dfa \\dadf"
>>> str.split()
['asd', '\\dfa', '\\dadf']
>>> aa = str.split()
>>> aa
['asd', '\\dfa', '\\dadf']
>>> aa[]
'asd'
>>> aa[]
'\\dfa'
>>> aa[]
'\\dadf'
>>> bb = r"asdf \bsdf \fsdfe"
>>> bb.split()
['asdf', '\\bsdf', '\\fsdfe']
>>> print aa[] #自动去掉转义
asd
>>> print aa[]
\dfa
>>> print aa[]
\dadf
>>>
python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页的更多相关文章
- python 替换字符串的方法replace()、正则re.sub()
一.replace()函数1用字符串本身的replace方法: a = 'hello word' b = a.replace('word','python') print b 1 2 3 二.re ...
- python判断字符串是否为空的方法s.strip()=='' if not s.strip():
python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='': print 's is null' 或者 if not s.strip(): p ...
- python中字符串拆分与合并——split()、join()、strip()和replace()
Python3 split()方法 描述split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语法split()方法语法: str.split(str= ...
- Python格式化字符串~转
Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...
- Python格式化字符串
在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...
- Python中字符串的使用
这篇文章主要介绍python当中用的非常多的一种内置类型——str.它属于python中的Sequnce Type(序列类型).python中一共7种序列类型,分别为str(字符串),unicode( ...
- Python总的字符串
Python总最常用的类型,使用单引号双引号表示.三引号之间的字符串可以跨多行并且可以是原样输出的. Python中不支持字符类型,字符也是字符串. ---字符串的CRUD [1:3] [:6] -- ...
- python之字符串
字符串与文本操作 字符串: Python 2和Python 3最大的差别就在于字符串 Python 2中字符串是byte的有序序列 Python 3中字符串是unicode的有序序列 字符串是不可变的 ...
- python数据类型——字符串类型
字符串(string) 字符串,就是字符连成一串,是由字符组成的序列.字符串有编码问题,在之前我已经讲过.本节主要讲字符串的使用. 创建字符串,不用多说: a='123abcd' b='diamond ...
随机推荐
- HDU-3586 Information Disturbing(树形DP+删边)
题目大意:一棵有n个节点的有根树,1为根节点,边带权,表示删掉这条边的代价.现在要删掉一些边,使叶子节点不能到达根节点.但是,每次删除的边的代价不能超过limit,删掉的边的总代价不能超过m,求最小的 ...
- poj3687 拓扑序
题意:有编号 1-n 的球,每个球的质量不同,质量从 1 到 n 不等,给出一系列比较,分别是两个编号的球的大小关系,求一个序列满足上述关系,并且从编号 1 开始依次选择可选的最小质量,输出每个球的质 ...
- UVA10305 拓扑序
题意:给出多个任务,以及一系列任务的关系表示某个任务必须在某个任务前完成,问一个合理的任务完成顺序 拓扑序的裸题,一开始用大白书的写法,后来发现并不好用,就换了BFS又A了一遍. 原: #includ ...
- kuangbin_ShortPath A (POJ 2387)
最短路模板题 但是其实很费时间 因为要看明白dij floyd 以及 dij优化 spfa优化 交了三次 大概是理解了 不过涉及到priority_queue的重载运算符问题 以后要在C++里面好好看 ...
- PHP-网页跳转的几种方式
本文总结了跳转到指定网页的几种方式. 1.利用PHP的header函数Location响应头, header是用来向浏览器返回HTTP响应头(详细请看HTTP协议详解) <?php header ...
- struts2获得request和session对象
在struts1中,获得到系统的request或者session对象非常方便,都是按照形参传递的,但是在struts2中,request和session都被隐藏了 struts2提供两种方式访问ses ...
- spring注解方式在一个普通的java类里面注入dao
spring注解方式在一个普通的java类里面注入dao @Repositorypublic class BaseDaoImpl implements BaseDao {这是我的dao如果在servi ...
- 最大化 AIX 上的 Java 性能,第 5 部分: 参考资料和结论
http://www.ibm.com/developerworks/cn/aix/library/es-Javaperf/es-Javaperf5.html 最大化 AIX 上的 Java 性能,第 ...
- WCF入门教程一[什么是WCF]
一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .NE ...
- 虚拟化之vmware-vsphere概念,原理,功能
080-login-back.vmx .encoding = "UTF-8"config.version = "8"virtualHW.version = &q ...