2013-05-08 199 views
0

我有两个ID如何比较两个ID

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给我,他们不相等... 有什么建议吗?

+0

请出示你的Postgres的表定义 – mvp 2013-05-08 08:21:15

+1

相关:http://stackoverflow.com/questions/5089997/how-to-compare-two-case-insensitive-strings – mvp 2013-05-08 08:24:06

回答

1

当你比较字符串并将其转换为大写字母,如果是使用方法

uuidString=[uuidString uppercaseString]; 
+0

谢谢大家,但我只是高呼情况下,它很棒) – Arthur 2013-05-08 09:15:58

0

请尽量使用一个唯一的diffrence ...我希望它可以帮助你

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"); 
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"); 
    }