如何搜索并摆脱这个角色?

How to search and get rid of this character?

Bulmaca-Zeka Oyunu<200f>

我在一个文本文件中有很多字符串,我注意到其中一个有这个 <200f> 字符。我想找到所有具有此字符的条目并将其删除。但是在 Vim 中,我无法通过使用搜索字符串“<200f>”搜索“<200f>”来找到它。可能是一个字符而不是 6 个单独的字符。

在Python或VIM中,如何删除或搜索它们?

在 Python 中,您也许可以使用字符串替换:

line_of_text = "Bulmaca-Zeka Oyunu<200f>"
print(line_of_text.replace("<200f>", "")

输出:

Bulmaca-Zeka Oyunu

您无法在 vim 中找到它,因为您没有搜索正确的字符串。 检查您的 vim 文档:尖括号是元字符。简单地转义它们,并删除不需要的字符串。

:%s/\<200f\>//g

尖括号中的文字字符是 Vim 处理一些有问题的不可打印字符的方式。起初它们很令人费解,但它们真的很容易理解,因为它们只是简单地拼出了字符的十六进制代码。

在这种情况下,<200f>U+200F 的文字表示,您可以这样搜索:

/\%u200f

所以,如果你想去掉当前缓冲区中出现的<200f>,你所要做的就是:

:%s/\%u200f//g

参见 :help \%u