0

我有两个身份证

85816465-FA7B-48B1-8AD3-7FB0A1B6C011 - 85816465-fa7b-48b1-8ad3-7fb0a1b6c011

如您所见,它们几乎相同,但有区别)

85816465-FA7B-48B1-8AD3-7FB0A1B6C011 这个代码我是用这个代码编译的

   CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
   NSString * uuidString = (__bridge NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
   CFRelease(newUniqueId);

在此之后将其插入数据库(Postgres),数据库将其转换为

85816465-fa7b-48b1-8ad3-7fb0a1b6c011

当我选择这个插入的 ID 并尝试将它与旧的进行比较时,Xcode 给我它们不相等......有什么建议吗?

4

3 回答 3

1

当您比较字符串时,如果这是使用该方法的唯一区别,请将它们转换为大写

uuidString=[uuidString uppercaseString];
于 2013-05-08T08:23:17.870 回答
0

请尝试使用这个...我希望它可以帮助你

NSString *str1 = @"85816465-FA7B-48B1-8AD3-7FB0A1B6C011";
NSString *str2 = @"85816465-fa7b-48b1-8ad3-7fb0a1b6c011";

str1 = [str1 stringByReplacingOccurrencesOfString:@"-" withString:@""];
str2 = [str2 stringByReplacingOccurrencesOfString:@"-" withString:@""];

if( [str1 caseInsensitiveCompare:str2] == NSOrderedSame )
    NSLog(@"ITS EQUAL");
else
    NSLog(@"ITS NOT EQUAL");
于 2013-05-08T08:42:49.643 回答
0

尝试这个

    NSRange r = [udidstring1 rangeOfString:udidstring2 options:NSCaseInsensitiveSearch];

    if(r.location != NSNotFound)
    {
         NSLog(@"Both UDID are same");
    }

或者你可以试试这个

    if ([udidstring1 caseInsensitiveCompare:udidstring2]==NSOrderedSame) {
            NSLog(@"Both UDID are same");
    }
于 2013-05-08T08:53:51.117 回答