python 中re.findall ()的问题 10
第一个问题,想知道问此处的coords[0]能不能用成coords.group(1)。这种情况下用group不是更好吗?第二个问题,这个print出来的结果是如图下所示但...
第一个问题, 想知道问此处的 coords[0]能不能用成coords.group(1)。这种情况下用group不是更好吗?
第二个问题 , 这个print出来的结果是如图下所示
但是我想要的结果是<pathd='M10 10, C20 20, 40 100'>
也就是要在第一个逗号后加一个C。并且去掉最后一个逗号
怎样将上面的代码改一下,而得出我想要的结果呢???
谢谢了!!!!!! 展开
第二个问题 , 这个print出来的结果是如图下所示
但是我想要的结果是<pathd='M10 10, C20 20, 40 100'>
也就是要在第一个逗号后加一个C。并且去掉最后一个逗号
怎样将上面的代码改一下,而得出我想要的结果呢???
谢谢了!!!!!! 展开
1个回答
展开全部
第一个问题,答案是不能用成coords.group(1),re.findall返回的是一个列表,读取列表需要用coords[0]这种方式
第二个问题,你用正则找出来的结果再用正则过滤一遍:
import re
print(re.sub(r'(.*), (.*), (.*), (.*)', r'\1, c\2, \3\4', str))
更多追问追答
追问
第一个问题,那么coords是列表中的列表吗?
第二个问题,因为我这个给出的例子只是个测试,其实后面还有很多数字,所以用r*\1,c\2,\3\4这样好像有点难,如果这样的话,后面\3\4。。。。。。可能要写到上千了,还有其他的什么办法嘛?
追答
1.coords就是个列表
2.就算你后面有成千上万数字都是匹配到第四分组的,除非你还有其他的需求,正则本来就是根据需求匹配的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询