用x替换字符串中的整数而没有错误处理

发布于 2021-01-29 16:21:50

我一直在试图找出一种简单的方法来用python中的x替换字符串中的整数。通过执行以下操作,我可以正常工作:

In [73]: string = "martian2015"
In [74]: string = list(string)

In [75]: for n, i in enumerate(string):
   ....:     try:
   ....:         if isinstance(int(i), int):
   ....:             string[n]='x'
   ....:     except ValueError:
   ....:         continue

实际上,这会产生以下内容:

In [81]: string
Out[81]: ['m', 'a', 'r', 't', 'i', 'a', 'n', 'x', 'x', 'x', 'x']
In [86]: joiner = ""

In [87]: string = joiner.join(string)

In [88]: string
Out[88]: 'martianxxxx'

我的问题是:有没有办法以 更简单的方式 获得结果而不依赖于 错误/异常处理

关注者
0
被浏览
45
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    是的,使用正则表达式和re模块:

    import re
    
    new_string = re.sub("\d", "x", "martin2015")
    

    该字符串"\d"告诉Python搜索字符串中的所有数字。第二个参数是您要替换所有匹配项的参数,第三个参数是您的输入。(re.sub代表“替代”)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看