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 ...
随机推荐
- Oracle学习系列3
Oracle学习系列3 ************************************************************************************ 多表查 ...
- Qt QTreeWidget 树形结构实现(转)
Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类.树形效果如下图所示: 这是怎么实现的呢?还有点击节点时会有相应的事 ...
- Hive 安装配置记录
http://yymmiinngg.iteye.com/blog/708230 export HADOOP_HOME_WARN_SUPPRESS=1 export JAVA_HOME=/home/ha ...
- 09-Java 工程结构管理
(一)Java 工程结构管理 1.什么是Build Path: -- 一般包括:JRE运行时库 第三方功能扩展库(*.jar 格式文件) 其他的工程 其他的源代码或Class 文件 为什么使用~ :通 ...
- 九度OJ 1010:计算A+B【字符串和数组】
/*======================================================================== 题目1010:A + B 时间限制:1 秒内存限制 ...
- linux node&& npm 安装方式
1. 编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了. cd node-v0 ...
- angular模板加载 ----ng-template
Angularjs作为mvc(或者说mvvm)框架,同样具备模板这一基本概念. NG加载模板的顺序为 内存加载---AJAX加载. 如果排版乱掉,请查阅https://www.zybuluo.com/ ...
- Android Afinal框架(二)
框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity Final ...
- Apache Kafka 分布式消息队列中间件安装与配置 转载
bin/zkServer.sh start /home/guym/down/kafka_2.8.0-0.8.0/config/zookeeper.properties& bin/kafka-s ...
- SQL集合运算参考及案例(二):树形节点数量逐级累计汇总
问题描述: 我们经常遇到这样一个问题,类似于面对一个树形结构的物料数据,需要将库存中每一种物料数量汇总到物料上展示出来:或者说组织机构是一棵树,我们需要统计每一个节点上的人员数量(含下级节点的累计数量 ...