在python中将字母数字字符串转换为数字字符串

2024-10-01 19:33:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字母数字的字符串“4525ABT2”,我试图把它“翻译”成一个数字数字。我尝试了很多方法,聪明的就像真的愚蠢和漫长,并且到处寻找(我在这里找到了Java的解决方案,但它在python中不起作用)。把所有字符都改成数字的解决方案也没有。 我最后一次尝试是这样的

for i in alpha:    
        alpha1 = alpha.replace("A" or "B" or "C", "2")
        alpha2 = alpha1.replace("D" or "E" or "F", "3")
        alpha3 = alpha2.replace("G" or "H" or "I", "4")
        alpha4 = alpha3.replace("J" or "K" or "L", "5")
        alpha5 = alpha4.replace("M" or "N" or "O", "6")
        alpha6 = alpha5.replace("P" or "Q" or "R" or "S", "7")
        alpha7 = alpha6.replace("T" or "U" or "V", "8")
        alpha8 = alpha7.replace("W" or "X" or "Y" or "Z", "9")

phone = str(alpha8)
return phone

提前谢谢!!在


Tags: oralpha字母phone数字解决方案replacealpha2
2条回答

如果您的替换件尺寸相同,这会更容易,但这应该会起作用:

replist = ["","","ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ"]

for i,v in enumerate(replist):
    for l in v:
        alpha = alpha.replace(l,str(i))

输入:“AHK62ZT”

输出:“2456298”

使用适当的工具:

>>> s = "4525ABT2"
>>> table = str.maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                          '22233344455566677778889999')
>>> s.translate(table)
'45252282'

相关问题 更多 >

    热门问题