cyl531207502
2020-04-24 00:01
采纳率: 89.5%
浏览 763

python使用re模块提取列表中对应字段

list=["\r\r\n 双流市场设备维修员(百事可乐) "]
列表如上,需要将其中 双流市场设备维修员(百事可乐)这一部分提取出来,使用re.match来进行提取,请问应该如何书写,请知道的告诉下谢谢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2020-04-24 00:20
    已采纳

    你最好多给出几个样例,以便区分不同的数据
    就你的来说,这么写就可以。

    # -*- coding: UTF-8 -*-
    import re
    
    list=["\r\r\n 双流市场设备维修员(百事可乐) "]
    result = map(lambda x : re.sub('\r|\n', '', x), list)
    for x in result:
        print("%s" % x)
    
    打赏 评论
  • random_w 2020-04-24 10:11

    这个直接用正则表达式匹配就好了,\s可以匹配\r\n空格之类的字符,正则表达式里面的()匹配你想取出来的字符,然后通过数组下标调用就行,数组下标为0的是匹配到的所有字符组合,也就是list[0],后面下标对应的字符为,正则表达式从左到右括号内匹配到的字符,我这里只有一个括号,从左到右数排序为1,所以直接取匹配结果下标为一的值就是你想要的值,依此类推。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*- 
    
    import re
    
    list=["\r\r\n 双流市场设备维修员(百事可乐) "]
    str = re.match('\s+(双流市场设备维修员\(百事可乐\))\s+', list[0])[1]
    print("匹配到的字符串为:%s" % str)
    
    打赏 评论

相关推荐 更多相似问题