我创建了一个带有特殊字符的字符串,然后我在另一个NSString上进行迭代,并尝试查看我感兴趣的NSString和新的NSString之间是否匹配。但是,rangeOfString似乎有一个带有特殊字符的挂断。
基本上这就是这个想法,问题是NSLog永远不会读取" Hurray!"因为它没有找到平方根符号。
NSString *goal = @"√"
NSString *input =@"Messing with Sasquatch √"
int strLength = [input length];
int strpos = 0;
unichar ch = [input characterAtIndex:strpos];
while (strpos < strLength)
{
ch = [input characterAtIndex:strpos];
if ([goal rangeOfString:[NSString stringWithFormat:@"%c",ch]].location != NSNotFound)
NSLog(@"Hurray!");
++strpos;
}
谢谢!
答案 0 :(得分:0)
这个问题的不幸之处在于我在C中写了这个,这是一个更有效的格式。但是,在这个特定的例子中,我能够通过简单地坚持NSString来解决它。
也就是说,我没有移动到char然后返回,而是创建了一个长度为1的substr,如下所示。
NSRange subRange = {strpos, 1};
NSString *substr = [input substringWithRange:subRange
然后,在循环中,只需使用substr如下:
if ([goal rangeOfString:substr].location != NSNotFound)
NSLog(@"Hurray!");