构建一个算法来查找单词中的特殊字符并替换它们


Building an algorithm to find special chars in words and replace them

我将首先说明我对输入没有任何影响,并且纠正它的建议不能帮助我。我在问如何修复输出。

我有德文的说明。问题是其中一些在这个过程中被破坏了。有7个德语特殊字母之一的单词可能有损坏的字符,如:(' %�% ')
('害怕% % ')
(' %Ø% ')
(' %¶% ')
("% %")
("% %")
(' %©% ')

困难还在于一个字母可以"翻译"成一个损坏的字符,甚至3个损坏的字符。因此,单词"f r"可以被损坏为"fÂr"或"f??"R"或"f",我没有任何特定的模式,我可以在正则表达式中使用。

我需要建立一些算法:

  1. 查找给定描述中的错误。
  2. 查找损坏单词的更正。

我有什么?

  1. 描述
  2. 德语字典,包含所有带有特殊字符的单词。

我想在PHP'查询中实现它,但它不是强制性的。有什么办法吗?

一个通用的算法(你必须在你的编程语言中实现它)是这样的:

首先,让我们编写辅助函数:1)给定一个单词,查找该单词中每个损坏的字符。

2)从第一个字符开始,在一个损坏的字符和一个特殊的德文字符之间进行切换。

3)查看是否有任何单词(在"字典"中查找)以您刚刚切换的字符的子字符串开始。如果没有,返回到2并进行不同的切换。如果有,继续切换下一个中断的字符。

4)当你不能切换任何损坏的字符时,检查这是否是一个单词。如果是,则将其添加到可能的单词集中。否则,返回并进行不同的切换。

然后,让我们进入主算法:

1)搜索损坏的字符(您所述的其中一个),这可以通过简单地逐个检查所有字符来完成。

2)当你发现一个损坏的字符-发送整个字符属于辅助函数。

3)从辅助函数建议的选项中选择,或者让辅助函数自己选择。

4)进行切换,移动到字符串的末尾。

很抱歉有任何错别字,希望能有所帮助!