博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页
阅读量:6951 次
发布时间:2019-06-27

本文共 2824 字,大约阅读时间需要 9 分钟。

一,sub和replace的用法

re.sub 函数进行以正则表达式为基础的替换工作

re.sub替换到目标字符串中的a,b或者c,并全部替换

 另加上sub翻页操作:

re.sub('start=\d+','start=%d'%i,url,re.S)
1 >>> import re2 >>> re.sub('[abc]','o','Mark')3 'Mork'4 >>> re.sub('[abc]','o','caps')5 'oops'6 >>

replace 用法介绍:

1 >>> a2 'asds23DFG34'3 >>> a.replace('s','M')   #全部替换4 'aMdM23DFG34'5 >>> b = 'adfafafafa'6 >>> b.replace('a','M',3) #指定个数的替换7 'MdfMfMfafa'

二,find和index的用法

index,find 返回的都是找到的字符串的下标;find如果找不到返回的值 则是-1,而index直接抛出异常

a.find('t',start)从起始位置搜索

a.find('t',start,end)从指定位置开始搜索

a.rfind('t')从右边位置开始搜索

a.count('t') 搜索到多少个指定的字符

1 >>> a = '12432423'2 >>> a.find('1')3 04 >>> a.find(5)5 Traceback (most recent call last):6   File "
", line 1, in
7 TypeError: expected a character buffer object8 >>> a.find('24')9 1
1 >>> a 2 '12432423' 3 >>> f = a.find('M') 4 >>> f 5 -1 6 >>> f = a.find('43') #返回的是字符串的第一个位置 7 >>> f 8 2 9 >>> f = a.find('435')10 >>> f11 -1
1 '12432423' 2 >>> a.index('4') 3 2 4 >>> a.index('8') 5 Traceback (most recent call last): 6   File "
", line 1, in
7 ValueError: substring not found 8 >>> f = a.index('8') 9 Traceback (most recent call last):10 File "
", line 1, in
11 ValueError: substring not found

三,大小写处理,upper,lower,swapcase,capitalize,title

1 >>> a 2 '123dfsdfs' 3 >>> a = 'asds23DFG34' 4 >>> a.upper()          #全部大写 5 'ASDS23DFG34' 6 >>> a.lower()          #全部小写 7 'asds23dfg34' 8 >>> a.swapcase()       #大小写交换 9 'ASDS23dfg34'10 >>> a.capitalize()     #首字母大写其余小写11 'Asds23dfg34'12 >>> a.title()           13 'Asds23Dfg34'          #子串,首字母大写14 >>>15 KeyboardInterrupt

 四,strip的用法

Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。

这三个函数都可传入一个参数,指定要去除的首尾字符。

需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符

1 >>> a 2 'asds23DFG34' 3 >>> a.strip('a') 4 'sds23DFG34' 5 >>> a.strip('s') 6 'asds23DFG34' 7 >>> s = 'saaaay yes no yaaaass' 8 >>> s.strip('say')        #两边都找 9 ' yes no '                   #两边各有一个空格10 >>> s.lstrip('say')       #只找左边11 ' yes no yaaaass'        12 >>> s.rstrip('say')      #只找右边13 'saaaay yes no '

 五,split的用法

Python split()通过指定分隔符对字符串进行切片

语法 str.split('分隔符',num)

  • str -- 分隔符,默认为空格。
  • num -- 分割次数。
  • 返回分割后的字符串列表
  • 结果一:把\n归为了换行符,所以直接去掉了
  • #!/usr/bin/pythonstr = "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[0]'asd'>>> aa[1]'\\dfa'>>> aa[2]'\\dadf'>>> bb = r"asdf \bsdf \fsdfe">>> bb.split()['asdf', '\\bsdf', '\\fsdfe']>>> print aa[0]  #自动去掉转义asd>>> print aa[1]\dfa>>> print aa[2]\dadf>>>

 

转载地址:http://vmhnl.baihongyu.com/

你可能感兴趣的文章
20060308: WOW角色不见了
查看>>
iOS 横屏模态进入下一级界面, 竖屏退出
查看>>
乱搞-模拟退火
查看>>
AC日记——滑动窗口 洛谷 P1886
查看>>
Android监听手机网络变化
查看>>
ES6基础-解构赋值
查看>>
html转义字符
查看>>
C++ 简单的日志类
查看>>
Linux /proc目录详解
查看>>
VirtualBox不显示64bit版本的iso
查看>>
架构阅读笔记15
查看>>
关于setInterval
查看>>
Java学习之路(一)
查看>>
vim缩进
查看>>
UVA 10837 A Research Problem
查看>>
NOIP模拟2
查看>>
Todolist组件
查看>>
java自定义注解
查看>>
选择排序
查看>>
【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用
查看>>