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

原创 2016年05月30日 12:03:09

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"完成"


快来试试吧
















版权声明:本文为博主原创文章,未经博主允许不得转载。

python字符串切割:str.split()和re.split()对比

1、str.split不支持正则及多个切割符号,不知切割符号左右边的各个数量。 >>> s1="aa bb cc" >>> s1.split(' ') ['aa', 'bb', '', 'cc']...
  • hawkerou
  • hawkerou
  • 2016年12月08日 14:50
  • 19919

python string 使用正则表达式 split()

By using (,), you are capturing the group, if you simply remove them you will not have this proble...

Python中通过多个字符分割(split)字符串的方法

python中字符串自带的split方法一次只能使用一个字符对字符串进行分割,但是python的正则模块则可以实现多个字符分割import re re.split('_#|','this_is#a|t...
  • yockie
  • yockie
  • 2015年09月08日 21:47
  • 24169

关于python中re模块split方法的使用

原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于python中re模块split方法的使用  已有 3094 次阅读 2014...

python正则表达式 re (二)split

re.split可以使用re.split来分割字符串,如:re.split(r’\s+’, text);将字符串按空格分割成一个单词列表。原型: re.split(pattern, string, ...

[Python]str的split()的用法

Python中字符串str有个内建方法split() 用于分割字符串,返回一个分割后的列表。这在处理数据中非常方便好用。废话不多说,直接上代码:>>> aStr = 'data1 | data2 | ...

python之正则表达式之简单分割字符串split()函数

import re m=re.split(' ','this is a good time') print m['this', 'is', 'a', 'good', 'time']

python正则表达式 分割字符串

使用或 标准的正则表达式有小括号,但是python的没有 # -*- coding: utf-8 -*- import sys import re import sys reload(sys...

python split同时用多种字符分割字符串并去除空串 简单两行代码实现

代码使用的是python3的语法,python2只需要修改其中部分内容,同样可以使用 两行代码实现需求 这里把代码直接给出,方便大家直接使用 >>> s = 'asdn () dne we ** fe...

python 正则表达式 字符串的 匹配 替换 分割 查找

In [1]: import re In [2]: str1='imooc video=1000' In [3]: str1.find('1000')#可以查找出索引值 Out[3]: 12 I...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python正则表达式split()方法详解
举报原因:
原因补充:

(最多只允许输入30个字)