-
2021-10-16 20:14:22
import re str1 = "你好,这里是需要被分割的文字 演示,用来切割字符串" str2 = re.split(',| |,',str1) print(str2)
通过英文逗号,空格,中文逗号这三种符号来进行切割。
输出结果:
['你好', '这里是需要被分割的文字', '演示', '用来切割字符串']
更多相关内容 -
python re.split 用法
2020-12-01 15:05:37问题: s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' ['1,2,3,4', '5,6,7,8', '9,10,11,12'] ...这时,就可以利用re.split()方法了 import re s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' re.split(',..问题:
s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' ['1,2,3,4', '5,6,7,8', '9,10,11,12']
要想将上述字符串按要求进行分割,意味着分隔符为',a,' 和 ',b,':
针对上述情况,要想利用str.split()取得想要的结果,就要费点劲了,具体实现可见文末;
这时,就可以利用re.split()方法了
import re s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' re.split(',[a-b],', s, maxsplit=0, flags=0) # ['1,2,3,4', '5,6,7,8', '9,10,11,12']
那接下来介绍一下re.split()
re.split(pattern, string, maxsplit=0, flags=0)
- pattern:相当于str.split()中的sep,分隔符的意思,不但可以是字符串,也可以为正则表达式: '[ab]',表示的意思就是取a和b的任意一个值(可参考: https://docs.python.org/3/library/re.html?highlight=re%20split#re.split )
- string:要进行分割的字符串
- maxsplit:分割的最大次数,这个参数和str.split()中有点不一样:
默认值为0,表示分割次数无限制,能分几次分几次;取负数,表示不分割;若大于0,表示最多分割maxsplit次;
import re s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' # maxsplit<0,表示不分割 re.split(patter=',[a-b],', s=s, maxsplit=-2, flags=0) # ['1,2,3,4,a,5,6,7,8,b,9,10,11,12' ] # maxsplit = 0,表示能分几次分几次 re.split(patter=',[a-b],', s=s, maxsplit=0, flags=0) # ['1,2,3,4', '5,6,7,8', '9,10,11,12'] # maxsplit = 1, 表示分割一次 re.split(patter=',[a-b],', s=s, maxsplit=1, flags=0) # ['1,2,3,4', '5,6,7,8,9,10,11,12']
- flags:该参数可以用来修改pattern表达式的功能,比如忽略大小写 re.IGNORECASE(简写:re.I),即当flags = re.IGNORECASE ,pattern = [A-Z]不但能匹配到大写字母,也能匹配到小写字母;其他详细情况可参见:https://docs.python.org/3/library/re.html?highlight=re#contents-of-module-re
小结:
re.split() 与 str.split()的区别就是,re.split()功能更强大,可以借助正则表达式来表示一些较复杂的多样化的分隔符。
如何利用str.split()方法,实现上述问题:
s = '1,2,3,4,a,5,6,7,8,b,9,10,11,12' ['1,2,3,4', '5,6,7,8', '9,10,11,12']
[x for i in s.split(',a,') for x in i.split(',b,')]
-
python re.split() 用法
2020-04-26 02:11:04re.split() 作用:按照能够匹配的 子串(字符或字符串) 将 字符串 分割后返回 列表 。 变化过程:字符串 → 包含多个字符串的列表 格式:pattern:正则,string:被处理的字符串,maxsplit:最大出力次数(默认0不限次数)...re.split()
作用:按照能够匹配的 子串(字符或字符串) 将 字符串 分割后返回 列表 。
变化过程:字符串 → 包含多个字符串的列表格式:pattern:正则,string:被处理的字符串,maxsplit:最大出力次数(默认0不限次数),flags:re.[ILMSUX]
re.split(pattern, string[, maxsplit=0, flags=0])
实例:
import re line = 'aaa bbb,ccc.ddd' # 定义一字符串,其中用空格/逗号/句号分隔 print(line) aaa bbb,ccc.ddd
lis = re.split(r' ', line) # 用空格切割字符串 print(lis) ['aaa', 'bbb,ccc.ddd']
lis = re.split(r'( )', line) # 用空格(切割符)切割字符串,并且保留空格(保留切割符) print(lis) ['aaa', ' ', 'bbb,ccc.ddd']
lis = re.split(r'(?:\.)', line) # 用.切割(\.转义),格式:(?:re) 切割并且不保留切割符 print(lis) lis = re.split(r'\.', line) # 两者等效 print(lis) ['aaa bbb,ccc', 'ddd'] ['aaa bbb,ccc', 'ddd']
lis = re.split(r'[.,\s]', line) # 两个以上切割符,放到[]中,r'[.,\s]':用句号/逗号/所有空格 分割字符串 print(lis) ['aaa', 'bbb', 'ccc', 'ddd']
结束语(无)。
-
Python re.split方法分割字符串
2019-07-10 10:12:45使用多个界定符分割字符串 问题 你需要将一个字符串分割为多个字段,但是分隔符(还有周围的空格)并不是固定的... 当你需要更加灵活的切割字符串的时候,最好使用re.split()方法: >>> line = 'asdf fjd...使用多个界定符分割字符串
问题
你需要将一个字符串分割为多个字段,但是分隔符(还有周围的空格)并不是固定的。
解决方案
string
对象的split()
方法只适应于非常简单的字符串分割情形, 它并不允许有多个分隔符或者是分隔符周围不确定的空格。 当你需要更加灵活的切割字符串的时候,最好使用re.split()
方法:>>> line = 'asdf fjdk; afed, fjek,asdf, foo' >>> import re >>> re.split(r'[;,\s]\s*', line) ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']
讨论
函数
re.split()
是非常实用的,因为它允许你为分隔符指定多个正则模式。 比如,在上面的例子中,分隔符可以是逗号,分号或者是空格,并且后面紧跟着任意个的空格。 只要这个模式被找到,那么匹配的分隔符两边的实体都会被当成是结果中的元素返回。 返回结果为一个字段列表,这个跟str.split()
返回值类型是一样的。当你使用
re.split()
函数时候,需要特别注意的是正则表达式中是否包含一个括号捕获分组。 如果使用了捕获分组,那么被匹配的文本也将出现在结果列表中。比如,观察一下这段代码运行后的结果:>>> fields = re.split(r'(;|,|\s)\s*', line) >>> fields ['asdf', ' ', 'fjdk', ';', 'afed', ',', 'fjek', ',', 'asdf', ',', 'foo'] >>>
获取分割字符在某些情况下也是有用的。 比如,你可能想保留分割字符串,用来在后面重新构造一个新的输出字符串:
>>> values = fields[::2] >>> delimiters = fields[1::2] + [''] >>> values ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo'] >>> delimiters [' ', ';', ',', ',', ',', ''] >>> # Reform the line using the same delimiters >>> ''.join(v+d for v,d in zip(values, delimiters)) 'asdf fjdk;afed,fjek,asdf,foo' >>>
如果你不想保留分割字符串到结果列表中去,但仍然需要使用到括号来分组正则表达式的话, 确保你的分组是非捕获分组,形如
(?:...)
。比如:>>> re.split(r'(?:,|;|\s)\s*', line) ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo'] >>>
-
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2021-02-10 20:30:32本文实例讲述了Python3正则匹配re.split,re.finditer及re.findall函数用法。分享给大家供大家参考,具体如下:re.split re.finditer re.findall@(python3)官方 re 模块说明文档re.compile() 函数编译正则表达式模式... -
python 中re.split()的用法
2019-09-10 20:33:18re.split方法 注:使用前需要引入包(import re) 功能:split能够按照所能匹配的字串将字符串进行切分,返回切分后的字符串列表 形式: re.split(pattern, string[, maxsplit=0, flags=0]) pattern:匹配的字符串 ... -
请问python re.split要求保留字符串内部的空格,要怎么处理?
2021-01-13 09:49:33>>> s = " A B C " >>> s.strip() # 去除两边的空格 'A B C' 扩展资料 python对象的处理方法 对象的方法是指绑定到对象的函数。调用对象方法的语法是instance.method(arguments)。它等价于调用Class.method(instance... -
Python re.split()用于字符串切割
2021-08-04 10:19:47使用多个界定符分割字符串 Python 中re.split()方法 -
Python 中re.split()方法
2020-11-22 20:44:39re.split()切割功能非常强大>>> import re>>> line = 'aaa bbb ccc;ddd eee,fff'>>> line'aaa bbb ccc;ddd eee,fff'单字符切割>>> re.split(r';',line)['aaa bbb ccc', 'ddd\teee,fff']两个字符以上切割需要放在 [ ]... -
python re模块re.split将字符串分割后返回列表
2021-02-09 05:50:24re.splitsplit方法按照能够匹配的子串将字符串分割后返回列表,它的使用形式如下:re.split(pattern,string[,maxsplit=0,flags=0])参数:参数描述pattern匹配的正则表达式string要匹配的字符串。maxsplit分隔次数,... -
python re.split() 支持多个符号同时分隔, str.split() 分隔单个符号分隔
2019-01-29 12:35:45问题描述: cookies取值如下(赋值给变量sc),有逗号,分号,怎么把这...sc_set = re.split('[,;]', sc) csrftoken=pBMYbL4Roe9XJ0AtwdXwXZERb9sqf4ai;expires=Tue,28-Jan-202004:23:45GMT;Max-Age=31449600;Path=... -
str.split和re.split中空格的区别
2020-12-17 19:45:07一、str.split和re.split的基本用法1、str.spli的基本用法现用下面的文件:1 maqing:abc123我们要建立一个用户名和用户密码的匹配关系:1 with open("test.txt","r") as file:2 list =file.readlines()3 for line ... -
Python中re.split()的用法
2021-01-25 22:47:08import re 即导入正则表达式包 re.split(模式,字符串) 值得一提的是 Windows?!(98|200)可以匹配Windows10,但是不可以匹配Windows2000 -
[python] 分隔字符串re.split与split函数
2020-11-26 06:52:48split:多个分隔符 单一分隔符,使用str.split()即可re.split:多个分隔符,复杂的分隔情况(用|隔开)单一分隔符,str.split()与 re.split()效果是一样的 多个单一 分隔符 时 ,”[]”与 “|”的 效果是一样的,... -
python中的string.split()和re.split()
2021-01-14 01:06:40"string.split()要求是按标点符号将文本切分成几个部分,先看python内置的split()方法# e.g.1string_list = my_string.split('。')print(string_list)>>> ['我是谁?我在哪儿?!不管了', '不管了', '']... -
Python numpy.split函数方法的使用
2021-08-27 09:54:48NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、...原文地址:Python numpy.split函数方法的使用 ... -
re.split(r s)(python中maxsplit)
2020-12-14 10:41:46sql split 使用re.split(r'\W+',s)分解成的是['shell', 'moon', 'sun', 'python'],不是所预期的。re.(str1, str2): str2.append(map(float,str1.split(','))) print(str2)str2 = []getstrings('13.最佳案代码如下:... -
python3 正则匹配 re.split,re.finditer,re.findall 方法
2017-10-30 22:51:19re.split re.finditer re.findall@(python3)官方 re 模块说明文档re.compile() 函数 编译正则表达式模式,返回一个对象。可以把常用的正则表达式编译成正则表达式对象,方便后续调用及提高效率。 re 模块最离不开... -
python中re.split()的用法
2018-01-09 22:11:49re.split,支持正则及多个字符切割 [python] view plain copy >>> print line abc aa;bb,cc | dd(xx).xxx 12.12' xxxx 按空格切 >>> re.split(r' ',line) ['abc',... -
[892]python中re.split()方法
2020-08-17 22:01:32re.split(pattern, string, maxsplit=0, flags=0) pattern:匹配的字符串 string:需要切分的字符串 maxsplit:分隔次数,默认为0(即不限次数) flags:标志位,用于控制正则表达式的匹配方式,比如:是否区分大小写 ... -
python 中 Re库 函数 re.split()
2020-08-23 21:32:09re.findall(pattern, string, maxsplit=0, flags=0) 将一个字符串按照正则表达式匹配结果进行分割,返回列表类型 pattern : 正则表达式的字符串或原生字符串表示 string : 待匹配字符串 maxsplit: 最大分割数,剩余...