我在文本文件中有一个单词列表,我想对每个单词执行leet。例如,如果我有“你好”这个词,这将改为“5E11O”。换句话说,程序应该能够自动替换单词中的每个字母。
这可能吗?感谢
答案 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";
}
}