一,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翻页的更多相关文章

  1. python 替换字符串的方法replace()、正则re.sub()

    一.replace()函数1用字符串本身的replace方法: a = 'hello word' b = a.replace('word','python') print b   1 2 3 二.re ...

  2. python判断字符串是否为空的方法s.strip()=='' if not s.strip():

    python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='':     print 's is null' 或者 if not s.strip():     p ...

  3. python中字符串拆分与合并——split()、join()、strip()和replace()

    Python3 split()方法 描述split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语法split()方法语法: str.split(str= ...

  4. Python格式化字符串~转

    Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...

  5. Python格式化字符串

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...

  6. Python中字符串的使用

    这篇文章主要介绍python当中用的非常多的一种内置类型——str.它属于python中的Sequnce Type(序列类型).python中一共7种序列类型,分别为str(字符串),unicode( ...

  7. Python总的字符串

    Python总最常用的类型,使用单引号双引号表示.三引号之间的字符串可以跨多行并且可以是原样输出的. Python中不支持字符类型,字符也是字符串. ---字符串的CRUD [1:3] [:6] -- ...

  8. python之字符串

    字符串与文本操作 字符串: Python 2和Python 3最大的差别就在于字符串 Python 2中字符串是byte的有序序列 Python 3中字符串是unicode的有序序列 字符串是不可变的 ...

  9. python数据类型——字符串类型

    字符串(string) 字符串,就是字符连成一串,是由字符组成的序列.字符串有编码问题,在之前我已经讲过.本节主要讲字符串的使用. 创建字符串,不用多说: a='123abcd' b='diamond ...

随机推荐

  1. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

  2. Qt QTreeWidget 树形结构实现(转)

    Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类.树形效果如下图所示: 这是怎么实现的呢?还有点击节点时会有相应的事 ...

  3. Hive 安装配置记录

    http://yymmiinngg.iteye.com/blog/708230 export HADOOP_HOME_WARN_SUPPRESS=1 export JAVA_HOME=/home/ha ...

  4. 09-Java 工程结构管理

    (一)Java 工程结构管理 1.什么是Build Path: -- 一般包括:JRE运行时库 第三方功能扩展库(*.jar 格式文件) 其他的工程 其他的源代码或Class 文件 为什么使用~ :通 ...

  5. 九度OJ 1010:计算A+B【字符串和数组】

    /*======================================================================== 题目1010:A + B 时间限制:1 秒内存限制 ...

  6. linux node&& npm 安装方式

    1.  编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了. cd node-v0 ...

  7. angular模板加载 ----ng-template

    Angularjs作为mvc(或者说mvvm)框架,同样具备模板这一基本概念. NG加载模板的顺序为 内存加载---AJAX加载. 如果排版乱掉,请查阅https://www.zybuluo.com/ ...

  8. Android Afinal框架(二)

    框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity Final ...

  9. Apache Kafka 分布式消息队列中间件安装与配置 转载

    bin/zkServer.sh start /home/guym/down/kafka_2.8.0-0.8.0/config/zookeeper.properties& bin/kafka-s ...

  10. SQL集合运算参考及案例(二):树形节点数量逐级累计汇总

    问题描述: 我们经常遇到这样一个问题,类似于面对一个树形结构的物料数据,需要将库存中每一种物料数量汇总到物料上展示出来:或者说组织机构是一棵树,我们需要统计每一个节点上的人员数量(含下级节点的累计数量 ...