如何使用Python执行leet?

时间:2012-05-08 05:09:23

标签: python string

我在文本文件中有一个单词列表,我想对每个单词执行leet。例如,如果我有“你好”这个词,这将改为“5E11O”。换句话说,程序应该能够自动替换单词中的每个字母。

这可能吗?感谢

3 个答案:

答案 0 :(得分:3)

这完全取决于你如何定义leet。

如果是每个字符的简单1:1翻译,例如H->5, e->E, l->1, l->1, o->0,则翻译Hello - > 5E11O这并不困难。使用string.maketrans将此字符定义为字符转换。

更难的是,如果您希望支持更完整的leet orthographies,例如hacker-lingo - > l33tsp33k还涉及缩短字符数。

有各种各样的leet源代码努力。试试吧。看鞋子是否合身。我认为leet还没有通过ISO标准化......; - }

答案 1 :(得分:3)

这是在系列中进行一系列一对一替换的一种方法。请注意在字母换算之前如何应用“整个单词”转换。

replacements = ( ('hacker','haxor'), ('elite','eleet'), ('a','4'), ('e','3'),
                 ('l','1'), ('o','0'), ('t','+') )
my_string = "I am an elite hacker."
new_string = my_string
for old, new in replacements:
    new_string = new_string.replace(old, new)

print ( new_string )

给出:

I 4m 4n 3133+ h4x0r.

一个有趣的扩展是允许一些替换的多种选择。例如,字符l可以呈现为数字1或管道符号|

答案 2 :(得分:0)

我想最简单的就是制作一个字符集,并将其转换为

[Route("api/[controller]")]
public class Class2Controller : Controller
{
    [HttpGet]
    public string Get()
    {
        return "Get() returned";
    }

    [HttpGet("var1/{id?}")]
    public string Get(int id)
    {
        return $"Get({id}) returned";
    }
}