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 ...
随机推荐
- TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏
TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...
- C++@冒号(:)和双冒号(::)的用法
转自:http://blog.csdn.net/zimingjushi/article/details/6549390 1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) ty ...
- /usr/bin/ld: cannot find -lz
同事在一台机器上新安装的CentOS,我拷贝一个项目在上面编译,老是报如下错误: “/usr/bin/ld: cannot find -lz” 说明:libz.so是有的,在/lib64下面 我设置环 ...
- java 锁讲解
每个锁对象都有两个队列,一个是就绪队列,一个是阻塞队列,就绪队列存储了将要获得锁的线程,阻塞队列存储了被阻塞的线程,当一个被线程被唤醒 (notify)后,才会进入到就绪队列,等待获得锁.当一开始线程 ...
- easyUI之datebox
datebox具有输入的文本框及点击出现日历面板选择器的功能. 此组件的加载方式有class及jq方式,加载后,进行简单的属性设置即可. 对于此属性有一个很好的用法shareCalendar,就是多输 ...
- 谷歌 analytics.js 简要分析
下面是部分翻译过的JS,看起来好看些. (function () { function setHref(a, b) { return a.href = b; } function setName( ...
- linux命令单次或组合样例
###解压命令.tar.gz 格式解压为 tar -zxvf xx.tar.gz.tar.bz2 格式解压为 tar -jxvf xx.tar.bz2 ### ...
- BigPipe 了解
BigPipe是一个重新设计的基础动态网页服务体系.大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行.这是类似于大多数现代微处理器的流水 ...
- Linux-HAproxy+Keepalived
HAproxy+++++++++++++Info+++++++++++VIP:192.168.1.222HA-Master IP:192.168.1.117HA-Backup IP:192.168.1 ...
- java找jar包、搜索class类 搜索maven
sourceforge.net https://github.com/ http://www.findmaven.net/搜索class类 http://mvnrepository.com/