【发布时间】:2011-09-18 11:48:28
【问题描述】:
如果 a 有一个包含单词且没有空格的字符串,鉴于我有一个包含这些单词的字典/列表,我应该如何解析这些单词?
例如,如果我的字符串是“thisisastringwithwords”,我如何使用字典来创建输出“this is a string with words”?
我听说使用数据结构Tries 可能会有所帮助,但也许有人可以帮助处理伪代码?例如,我在想也许你可以将字典索引到一个 trie 结构中,然后沿着 trie 中的每个字符;问题是,我不熟悉如何在(伪)代码中执行此操作。
【问题讨论】:
-
不可能的任务。如果原始字符串的公共部分中存在两个不同的单词会怎样? “inthemississippi”有“miss”、“is”和“pi”这三个词,但应该真正找到“mississippi”。
-
寻找最长的单词或为此提供某种规则。无论如何,这不是一件容易的事..
-
我同意这是不可能的。你在哪里需要它???
-
最佳猜测的解决方案怎么样?我知道这不会是完美的。
-
@Jason Jong,cfarm54's ("thisisastringwithwords") 帖子中的字符串给我的不是你的意思,而是这个帖子。
标签: c# algorithm data-structures text-segmentation