仅替换字符串中的字母

-2 python string replace

我需要返回给定的拼图,每个字母字符由HIDDEN字符替换.

HIDDEN = '^' 

def blah(r):
    r = HIDDEN * len(r)
    return r
Run Code Online (Sandbox Code Playgroud)

此函数用于替换我需要的任何字符串,但问题特别要求替换每个ALPHABETIC字符.

所以,我不能有4'?隐藏被替换,因为他们不是字母字符.

我该怎么办呢?

nne*_*neo 8

一种方法:使用translate方法:

import string

table = string.maketrans(string.ascii_letters, '^'*len(string.ascii_letters))

def blah(r):
    return r.translate(table)
Run Code Online (Sandbox Code Playgroud)

另一种方法:使用re.sub:

import re

def blah(r):
    return re.sub(r'[a-zA-Z]', r'^', r)
Run Code Online (Sandbox Code Playgroud)

  • 虽然这是一个完全合适的答案,但我们应该在努力方面期待OP多一点. (2认同)