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
  • 27777

python正则表达式 re (二)split

re.split可以使用re.split来分割字符串,如:re.split(r’\s+’, text);将字符串按空格分割成一个单词列表。原型: re.split(pattern, string, ...
  • Winterto1990
  • Winterto1990
  • 2015年08月09日 22:43
  • 8024

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

import re m=re.split(' ','this is a good time') print m['this', 'is', 'a', 'good', 'time']
  • mengtianwxs
  • mengtianwxs
  • 2016年09月25日 15:42
  • 2036

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

原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于python中re模块split方法的使用  已有 3094 次阅读 2014...
  • u011089523
  • u011089523
  • 2017年03月13日 11:21
  • 1562

python 4-1 如何拆分含有多种分隔符的字符串re.split()/str.split()

python 4-1 如何拆分含有多种分隔符的字符串 解决方案1: 使用str.split()方法,每次处理一种分隔符号 解决方案2: 使用正则表达式re.split(),一次性拆分字符串解决...
  • u013679490
  • u013679490
  • 2017年01月20日 16:00
  • 7588

python3 正则匹配 re.split,re.finditer,re.findall 方法

re.split re.finditer re.findall@(python3)官方 re 模块说明文档re.compile() 函数 编译正则表达式模式,返回一个对象。可以把常用的正则表达式编...
  • CityzenOldwang
  • CityzenOldwang
  • 2017年10月30日 22:51
  • 622

Python中使用多个分隔符分隔字符串re.split

正则表达式基础,看这篇就够了 摘要 split多个分隔符 单一分隔符,使用str.split()即可 多个分隔符,复杂的分隔情况,使用re.split 单一分隔符,str.split...
  • programmer_at
  • programmer_at
  • 2017年08月19日 11:57
  • 3899

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

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

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

By using (,), you are capturing the group, if you simply remove them you will not have this proble...
  • zhangliu1982
  • zhangliu1982
  • 2015年09月29日 18:54
  • 3302

python正则表达式 分割字符串

使用或 标准的正则表达式有小括号,但是python的没有 # -*- coding: utf-8 -*- import sys import re import sys reload(sys...
  • Yan456jie
  • Yan456jie
  • 2015年03月12日 20:41
  • 4671
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python正则表达式split()方法详解
举报原因:
原因补充:

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