我正在寻找一种算法,我可以在其中比较两个字符串并读出失败者。
我知道比较两个字符串的正常代码,但这还不够。
例子:
NSString *userinput = @"xaplseiPhonr";// (Input from the user)
NSString *correct =@"apple iphone";
在下一步中,我将检查此字符串并列出此示例的失败者:x,l,s, ,r = 5 个失败者
我测试了很多东西,用两个 for 循环将两个字符串保存在一个数组中并进行了比较,但有些地方出了问题,最难的是这个词是否有 2 个相同的字母。或者,如果您没有动态索引搜索,那么“l”之后的整个字母或用户输入中缺少的空格是否为假,依此类推。
所以,如果有人对我有很好的代码,那就太好了
编辑:要比较的代码,但是如果您错过了一个字母或空格,这将不起作用。
for (int i = 0; i < [originalWordLetters count]; i++)
{
NSString *originalLetter = [originalWordLetters objectAtIndex:i];
//NSLog(@"%i: %@", d, originalLetter);
BOOL letterFound = FALSE;
while (letterFound == FALSE && d < [userWordLetters count])
{
if ([originalLetter caseInsensitiveCompare:[userWordLetters objectAtIndex:d]] == NSOrderedSame)
{
//NSLog(@"letter %i correct", d+1);
letterFound = TRUE;
}
else
{
//NSLog(@"letter %i false", d+1);
failedLetters++;
}
d++;
}
}
我有一个工作算法,您可以在其中比较两个字符串。并提出错误
我已将示例项目上传到 GitHub: NSString compareTwoStrings: algorithm output the errors