python正则表达式split()方法详解

python的正则表达式为Re模块。其中split()方法是用于进行字符串分割。

先上语法规范:

str.split(str="", num=string.count(str))

然后来个例子示例一下:

import re
mystr='www.csdn.com'
print mystr
print re.split('.',mystr)

看看结果

www.csdn.com
['', '', '', '', '', '', '', '', '', '', '', '', '']


why?因为点.是匹配除了换行符以外的任意字符。所以加个斜杠转义一下就可以了

import re
mystr='www.csdn.com'
print mystr
print re.split('\.',mystr)
再看看结果:

www.csdn.com
['www', 'csdn', 'com']
嗯。正常了。

然后可以从结果看出来,split()函数分割出来的结果其实是一个列表。那么要获取结果,就可以通过对列表的操作即可

比如我要获取“csdn”这个字符串,我其他都不要

那就这样写:

import re
mystr='www.csdn.com'
print mystr
my=re.split('\.',mystr)
print my[1]
看看结果:

www.csdn.com
csdn
嗯。那就对了。

如果字符串中找不到分割的字符,那么输出的结果就是完整的字符串

我们可以把上例中的点改为其他试试看

import re
mystr='www.csdn.com'
print re.split('\,',mystr)
现在我们再看看结果

['www.csdn.com']
所以从这个示例中,可以知道找不到分割点,输出的将是整个字符串


然后实战一下吧

某个人给了我一个txt文件,里面主要有三部分,url,请求方式和响应码,这三种方式用,号分割,很有规律。但是数据量炒鸡多有一万多条。学了split()的方法就很简单了。以逗号作为分割点,其他就很容易了。

http://192.168.23.190/js/js.js,get,200
上代码:

# coding=utf-8
import re
#这里改为与你的文件名字一致
f=open('test.txt','rb+')
line=f.readlines()
f1=open('url.txt','a+')
for i in range(0,len(line)):
    url=re.split(',',line[i])
    if i==len(line)-1:
        f1.write(url[0])
    else:
        f1.write(url[0]+",")
    print u"完成分离第%s个url"%i
f.close()
f1.close()
print u"完成"


快来试试吧
















猜你喜欢

转载自blog.csdn.net/qq1124794084/article/details/51536528