将Zalgo文本转换为纯文本

时间:2017-02-05 20:26:16

标签: python text python-3.6 zalgo

所以我有一些zalgo文字:

Ḩ̡̤̜̩̜̝̉é̪̟̜̗̣̔̊̋̈̅ll̪̟̣̗̣̗̜̜̇̌̋̔̍̉̃̌̏̄̔ọ̘̥̗̇̂̒

我想把它变成

Hello

使用python3.6,我用来将文本转换为zalgo的函数是

def zalgo(text):
    return ''.join([v,v+''.join(choice(list(map(chr,range(768,815))))for i in range(int(normalvariate(10,5))))][v.isalpha()]for v in text)

取自代码高尔夫问题。

我要做的是在python3.6中返回字符串,以便示例返回Hello

1 个答案:

答案 0 :(得分:8)

您可以filter使用str.isalnum(或str.isalpha仅使用字母表)来join字符串中的字母/数字,并{{3}}将其作为:

>>> my_str = 'Ḩ̡̤̜̩̜̝̉é̪̟̜̗̣̔̊̋̈̅ll̪̟̣̗̣̗̜̜̇̌̋̔̍̉̃̌̏̄̔ọ̘̥̗̇̂̒'


>>> ''.join(filter(str.isalnum, my_str))
'Hello'