我正在创建一个接受用户输入的Reddit bot,然后尝试从指定的维基百科页面获取一个表并将其发布到reddit。用户将指定专业拳击手的名字,机器人将尝试找到该拳击手的维基百科页面并发布他的专业记录表。
问题是这依赖于不可靠的用户输入。许多拳击手不是来自英语国家,他们的名字包含非英语字符。这导致很多名字拼写错误,最终导致失败。
我创建了一个尝试解析常用名称的方法:
public string FighterNameFixes(string fighter)
{
if (fighter.ToLower() == "julio cesar chavez" || fighter.ToLower() == "chavez")
{
return "Julio César Chávez";
}
else if (fighter.ToLower() == "julio cesar chavez jr." || fighter.ToLower() == "julio cesar chavez jr"
|| fighter.ToLower() == "julio cesar chavez, jr" || fighter.ToLower() == "julio cesar chavez jr.")
{
return "Julio César Chávez Jr.";
}
else if (fighter.ToLower() == "roy jones jr" || fighter.ToLower() == "roy jones, jr"
|| fighter.ToLower() == "roy jones jr." || fighter.ToLower() == "rjj")
{
return "Roy_Jones_Jr.";
}
//continue for every boxer that has ever lived
如果找不到匹配项,并且回复过程失败,我会记录异常并继续。我想找到一种更具程序性的方法来解决这个问题。是否有一个库或API可以帮助我解决这样的拼写错误?