原文地址:
http://blog.sina.com.cn/s/blog_8345c9c90100vevx.html
NSString 两个字符串的比较,用 a compare:b 来比,得出的结果分3种
1. 26个字母比较 越靠后面 越大
NSString *a = @"qweqwe";
NSString *b = @"qweasd";
BOOL result = [a compare:b];
if (result == NSOrderedSame) { // NSOrderedSame = 0 完全一样
NSLog(@"a = b");
}else if(result == NSOrderedAscending) // NSOrderedAscending = -1
NSLog(@"a < b");
else{ //NSOrderedDescending = +1
NSLog(@"a > b");
}
2011-07-05 15:04:33.951 Q[5180:207] a > b
2.比较数字或者符号,或者字母 什么都行
NSString *a = @"1.0.30qweqwe";
NSString *b = @"1.0.45qweasd";
BOOL result = [a compare:b];
if (result == NSOrderedSame) { // NSOrderedSame = 0 完全一样
NSLog(@"a = b");
}else if(result == NSOrderedAscending) // NSOrderedAscending = -1
NSLog(@"a < b");
else{ //NSOrderedDescending = +1
NSLog(@"a > b");
}
2011-07-05 15:05:13.175 Q[5209:207] a < b
3.不考虑大小写比较字符串
[a caseInsensitiveCompare:b]
- (void)viewDidLoad
{
NSString *a = @"i love my boyfriend.";
NSString *b = @"I Love My Boyfriend.";
NSLog(@" \n a: %@ \n",a);
NSLog(@" \n b: %@ \n",a);
BOOL result = [a caseInsensitiveCompare:b] == NSOrderedSame;
}
// result = (BOOL) YES;
4.不考虑大小写比较字符串
[a caseInsensitiveCompare:b]
- (void)viewDidLoad
{
NSString *a = @"i love my boyfriend.";
NSString *b = @"Little baby.";
NSLog(@" \n a: %@ \n",a);
NSLog(@" \n b: %@ \n",a);
BOOL result = [a caseInsensitiveCompare:b] == NSOrderedAscending;
}
//result = (BOOL) YES;
5. 有选择的比较大小 [a compare:b options:NSCaseInsensitiveSearch|NSNumericSearch]
- (void)viewDidLoad
{
NSString *a = @"i love my boyfriend.";
NSString *b = @"I Love My Boyfriend.";
NSLog(@" \n a: %@ \n",a);
NSLog(@" \n b: %@ \n",b);
BOOL result = [a compare:b options:NSCaseInsensitiveSearch|NSNumericSearch] == NSOrderedSame;
}
//result = (BOOL)YES;
NSCaseInsensitiveSearch 忽略大小写的比较字符串
NSNumericSearch 比较字符串的个数
NSLiteralSearch 区分大小写,进行完全比较
分享到:
相关推荐
NSString *s = @"This is a smiley \ue415 face"; testFace.text = s; ``` 这里的关键在于如何让Objective-C识别并正确处理这种转义字符。实际上,Objective-C本身并不直接支持`\ue415`这样的转义字符格式,但可以...
- 使用`compare:`方法,该方法返回三种比较结果:NSOrderedAscending、NSOrderedSame、NSOrderedDescending。 #### NSMutableString `NSMutableString`提供了可变字符串的功能,允许在运行时添加、删除或替换文本...
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary,id> *)change context:(void *)context { if ([keyPath isEqualToString:@"status"]) { AVPlayerStatus status = ...
[view setTitle:aString]; ``` 3. **释放`NSString`对象**: - 如果使用`alloc`和`init`方法创建的`NSString`对象,需要手动释放。 ```objective-c [aString release]; ``` 4. **快速创建并使用`NSString`**...
iOS NSString, char, NSData格式转化 iOS 开发中,我们经常需要在...在上面的代码中,我们首先创建了一个NSString对象`aStr`,然后使用`dataUsingEncoding`方法将其转化为NSData对象,并将结果存储在`aData`变量中。
NSString *fileContent = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; ``` 2. **读取图片资源**: - 使用`UIImage`的`imageNamed:`方法: ```objective-c UIImage...
在`NSString-Validation-master`压缩包中,你将找到实现这些功能的源代码,包括`.h`头文件(声明方法)和`.m`实现文件(定义方法)。通过导入这个类别到你的项目中,你可以直接利用这些验证和转换功能,从而提升开发...
NSString *myString = [NSString string]; ``` 需要注意的是,Objective-C中的所有对象变量都是指针类型,因此需要在类型后面加上星号。 #### 六、嵌套消息 Objective-C中的嵌套消息是一种特殊的调用方式,示例代码...
- 使用`componentsJoinedByString:`方法,将数组中的所有元素连接成一个字符串,例如:`NSString *combinedStr = [@[ @"a", @"b", @"c" ] componentsJoinedByString:@", "];` 6. **NSDate转NSString**: - 首先...
在Objective-C中,字符串被封装在NSString类中,数组由NSArray和NSMutableArray类来管理,字典则由NSDictionary和NSMutableDictionary来实现,而集合则由NSSet和NSMutableSet来表示。此外,还提供了快速枚举等便捷的...
NSString *response = [request responseString]; // 处理响应字符串 } } ``` ##### 异步请求 异步请求则不会阻塞主线程,更适合用于大数据量的下载。下面是一个简单的异步请求示例: ```objective-c - ...
1. **NSData转NSString**:通常使用`- initWithData:encoding:`或`+ stringWithData:encoding:`方法,其中encoding参数指定字符编码,如NSUTF8StringEncoding,以将二进制数据解析为字符串。例如: ```objective-c ...
NSString *stringFromCGRect = NSStringFromCGRect(frame); ``` - **从字符串恢复CGRect**: ```objective-c CGRect rect = CGRectFromString(stringFromCGRect); ``` - **调整CGRect的大小**: ```...
- 字符串类型:使用`NSString *`来声明字符串指针。 - 数组类型:可以使用`NSArray *`声明数组指针。 - 字典类型:可以使用`NSDictionary *`声明字典指针。 ##### 3. 变量定义 变量用于存储数据。在Objective-C中,...
- 例如,如果预期数据类型为`NSNumber`,但在实际接收到的数据为`NSString`时,应进行适当的类型转换。 #### 六、数组越界 数组越界是编程中常见的错误之一,特别是在处理网络请求后的数据时更为常见。 **解决建议...
NSString *myString = [[NSString alloc] initWithFormat:@"Hello, World!"]; ``` #### 四、小结 Objective-C是一种功能强大且灵活的编程语言,尤其适合于苹果平台的应用程序开发。通过上述介绍,我们了解了...
[myClass doItWithA:a andB:b]; ``` ### 六、属性定义 属性是Objective-C中用于封装数据成员的一种机制,提供了getter和setter方法: ```objective-c @property (attribute1, attribute2) propertyName; ``` ...
}部分数据的容错self.nameLabel.text = [NSString stringWithFormat:@"动物名称:%@", self.animal.name];使用方法:[Animal ry_setLazyPropertyArr:@[@"name",@"foots",@"attribute",]];[ViewController ry_...
@property (nonatomic, strong) NSString *name; // 方法声明 - (void)sayHello; @end @implementation ClassName - (void)sayHello { NSLog(@"Hello, my name is %@", self.name); } @end ``` 2...
- 可以通过`+ (NSDecimalNumber *)decimalNumberWithString:(NSString *)string`方法,传入包含数字的字符串来创建。 - 或者使用`+ (NSDecimalNumber *)decimalNumberWithDecimal:(NSDecimal)decimal`,传入...