Python 如何使用re.split()在两个字符的实例上进行拆分?
我有要拆分表单的字符串:Python 如何使用re.split()在两个字符的实例上进行拆分?,python,string,split,re,Python,String,Split,Re,我有要拆分表单的字符串: s=''0-1 | 0.0 | 0.0+-0.0 | 0.8+-0.8 | 0.0+-0.0 |-2.4+-2.4 | 5.9 |' 我想在|和+-的每个实例中拆分它,但不能单独拆分-。我正试图使用re.split()来执行此操作,因为正则split()函数不使用多个分隔符,但我无法理解正则表达式的语法 我尝试了以下方法: splitted=re.split(r'\\| |(+-)',s) 正如上面所说,可以使用括号来匹配括号中的表达式,但我得到了一个错误: 错误:无需
s=''0-1 | 0.0 | 0.0+-0.0 | 0.8+-0.8 | 0.0+-0.0 |-2.4+-2.4 | 5.9 |'
我想在|
和+-
的每个实例中拆分它,但不能单独拆分-
。我正试图使用re.split()
来执行此操作,因为正则split()
函数不使用多个分隔符,但我无法理解正则表达式的语法
我尝试了以下方法:
splitted=re.split(r'\\| |(+-)',s)
正如上面所说,可以使用括号来匹配括号中的表达式,但我得到了一个错误:
错误:无需重复
您可以执行的操作
重新导入
s=“|0-1 | 0.0 | 0.0+-0.0 | 0.8+-0.8 | 0.0+-0.0 |-2.4+-2.4 | 5.9 |”
关于拆分(“s”)
第二个|
不应包含任何空格。
还要注意,返回的列表将包含空字符串,因为s
以|
开头和结尾
重新导入
s=“|0-1 | 0.0 | 0.0+-0.0 | 0.8+-0.8 | 0.0+-0.0 |-2.4+-2.4 | 5.9 |”
关于拆分(“s”)
第二个|
不应包含任何空格。
还请注意,返回的列表将包含空字符串,因为
s
以|
开头和结尾只是为了好玩,您可以不用regex
就可以这样做
以下是方法:
s = '|0-1|0.0|0.0+-0.0|0.8+-0.8|0.0+-0.0|-2.4+-2.4|5.9|'
print([j for i in s.split("|") for j in i.split("+-") if j])
输出:
['0-1', '0.0', '0.0', '0.0', '0.8', '0.8', '0.0', '0.0', '-2.4', '2.4', '5.9']
只是为了好玩,您可以不用
regex
就可以做到这一点
以下是方法:
s = '|0-1|0.0|0.0+-0.0|0.8+-0.8|0.0+-0.0|-2.4+-2.4|5.9|'
print([j for i in s.split("|") for j in i.split("+-") if j])
输出:
['0-1', '0.0', '0.0', '0.0', '0.8', '0.8', '0.0', '0.0', '-2.4', '2.4', '5.9']
还必须转义“+”
:r“\\\\+\-”
还必须转义“+”
:r“\\\\\+\-”