//
// main.m
// SimplePrograming
//
// Created by on 14-8-21.
// Copyright (c) 2014年 com.SimplePrograming. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSString *str1 = @"abc5";
NSString *str2 = [NSString stringWithFormat:@"abc%d", 5];
// isEqualToString:比较字符串内容是否相等
if ([str1 isEqualToString: str2]) {
NSLog(@"str1 as same as str2!");
}
// ====================================================================
// compare:方法返回BOOL即1或者0,应该用%d来表示
NSLog(@"%d", [str1 compare: str2] == NSOrderedSame);
NSLog(@"%d", [str1 compare: str2] == NSOrderedAscending);
NSLog(@"%d", [str1 compare: str2] == NSOrderedDescending);
// ====================================================================
// 不可直接将[str1 compare:str2]用作if的条件判断
if ([str1 compare:str2] == NSOrderedSame) {
NSLog(@"str1 as same as str2!");
}
// ====================================================================
// 计算字符串长度的两种方法
NSLog(@"%lu", str1.length);
NSLog(@"%lu", [str2 length]);
// ====================================================================
NSString *name1 = @"jack";
NSString *name2 = @"Jack";
// compare: 的比较是区分大小写的
if ([name1 compare:name2] == NSOrderedSame) {
NSLog(@"两个字符串相等");
} else {
NSLog(@"两个字符串不等");
}
// ====================================================================
// 不区分大小写的比较方式
if ([name1 compare:name2 options:NSCaseInsensitiveSearch] == NSOrderedSame) {
NSLog(@"两个字符串相等");
} else {
NSLog(@"两个字符串不等");
}
// ====================================================================
// 不区分大小写和比较字符串的字符个数
if ([name1 compare:name2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame) {
NSLog(@"两个字符串完全(内容和字数)相等");
} else {
NSLog(@"两个字符串不等");
}
// ====================================================================
NSString * fileName = @"draft-chapter.pages";
// hasPrefix 以xxx字符串开头
if ([fileName hasPrefix: @"draft"]) {
NSLog(@"这是一个文档!");
}
// hasSuffix 以xxx字符串结尾
if ([fileName hasSuffix: @".mov"]) {
NSLog(@"这是一个movie");
}
// ====================================================================
// 检查字符串中是否有其他的字符串
NSRange range = [fileName rangeOfString:@"chapter"];
NSLog(@"location = %lu, length = %lu", range.location, range.length);
// ====================================================================
// NSMutableString类似于java中的StringBuffer
NSMutableString *string = [NSMutableString stringWithCapacity:42];
[string appendString:@"Hello there "];
[string appendFormat:@"human %d!", 39];
NSLog(@"%@", string);
// ====================================================================
// 创建字符串
NSMutableString *friends = [NSMutableString stringWithCapacity:50];
[friends appendString:@"James BethLynn Jack Evan"];
NSLog(@"%@", friends);
// 检查字符串中是否含有Jack
NSRange friendsRange = [friends rangeOfString:@"Jack"];
friendsRange.length++; // 加一是为了删除Jack后面的空格
// 删除Jack
[friends deleteCharactersInRange:friendsRange];
NSLog(@"%@", friends);
// rangeOfString找不到的话会返回not.location为NSNotFound
NSRange not = [friends rangeOfString:@"Tom"];
BOOL result = not.location == NSNotFound;
// OC中的BOOL有两个值YES:1,NO:0。
NSLog(@"%@", result ? @"YES" : @"NO");
// BOOL非零为真
// BOOL可以赋值为YES或NO
BOOL j = 4;
if (j) {
NSLog(@"BOOL为4");
}
// Boolean型的数据,非零即为真,可以赋值为true或false
Boolean flag = true;
Boolean a = 0;
Boolean b = 1;
Boolean c = 4;
if (flag) {
NSLog(@"Boolean 型的数据类型");
}
if (!a) {
NSLog(@"Boolean 为0即为假");
}
if (b && c) {
NSLog(@"Boolean 非0即为真");
}
return (0);
}
转载于:https://my.oschina.net/are1OfBlog/blog/305225