一,sub和replace的用法
re.sub 函数进行以正则表达式为基础的替换工作
re.sub替换到目标字符串中的a,b或者c,并全部替换
另加上sub翻页操作:
re.sub('start=d+','start=%d'%i,url,re.S)
1 >>> import re 2 >>> re.sub('[abc]','o','Mark') 3 'Mork' 4 >>> re.sub('[abc]','o','caps') 5 'oops' 6 >>
replace 用法介绍:
1 >>> a 2 '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 0 4 >>> a.find(5) 5 Traceback (most recent call last): 6 File "<stdin>", line 1, in <module> 7 TypeError: expected a character buffer object 8 >>> 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 >>> f 11 -1
1 '12432423' 2 >>> a.index('4') 3 2 4 >>> a.index('8') 5 Traceback (most recent call last): 6 File "<stdin>", line 1, in <module> 7 ValueError: substring not found 8 >>> f = a.index('8') 9 Traceback (most recent call last): 10 File "<stdin>", line 1, in <module> 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 -- 分割次数。
- 返回分割后的字符串列表
- 结果一:把 归为了换行符,所以直接去掉了
-
#!/usr/bin/python str = "Line1-abcdef Line2-abc Line4-abcd" print str.split( ) print str.split(' ', 1 ) 以上实例输出结果如下: ['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', ' Line2-abc Line4-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 sdf fsdfe" >>> bb.split() ['asdf', '\bsdf', '\fsdfe'] >>> print aa[0] #自动去掉转义 asd >>> print aa[1] dfa >>> print aa[2] dadf >>>