如何检查字符串是无意义的还是英文单词集

How to check if string is nonsense or set of english words

我正在尝试通过暴力破解 Vigenère cipher 学校作业,我想为此编写自己的脚本,因为我没有关于 KEY 的信息。

有什么工具可以检查输入字符串中包含多少真实的英文单词?

示例:

这个字符串是无意义的:'GHDSGBHJWVHUSAFRSFUYWFBDYFTSA'

这个字符串似乎是正确的 OPEN TEXT:'THENAMETOOOFTENSTOREMANAGER'

Java脚本、Java 或 Python 的任何现有包?或者一些 public API 如果找到任何单词,什么可以告诉我多少?

您可以简单地将英文单词的明文字典输入正则表达式,将每个已知单词与字符串进行比较。然后你可以在那之后做你的逻辑来确定你是否认为它是一个真正的英文字符串。

不太确定这是否对您的用户案例有帮助(没有空格的句子),但请看一下这个包 https://www.npmjs.com/package/asdfjkl

您可能需要的是鼻孔。 Nostril 是 Nonsense String Evaluator:一个 Python 模块,可以推断给定的短字符串是否可能是随机的乱码或其他东西。

https://github.com/casics/nostril

from nostril import nonsense

if nonsense('yoursinglestringhere'):
   print("nonsense")
else:
   print("real")