麦田的笑话 2022-05-05 20:52 采纳率: 72.7%
浏览 48
已结题

python怎么通过正则表达式去剔除掉字符串最前/后面的连续的非数字段?

比如"daxxsd12a52d5sdaxxda"
怎么把首个数字的前面一段非数字(daxxsd)去掉
把末尾数字后面一段非数字(sdaxxda)去掉
并且把中间的非数字替换成自己想要的字符(比如?)
最终想要的结果:12?52?5

  • 写回答

3条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-05-05 21:18
    关注
    >>> import re
    >>> s = "daxxsd12a52d5sdaxxda"
    >>> t = re.findall(r'\d.+\d',s)[0]
    >>> t
    '12a52d5'
    >>> t = re.sub(r'\D','?',t)
    >>> t
    '12?52?5'
    >>> 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 已采纳回答 6月25日
  • 创建了问题 5月5日