OC中,字符串是由unichar(Unicode)字符組成.
NSString:不可變字符串(創建以後,內容和長度不能更改).
NSMutableString:可變字符串(創建以後, 內容還可以修改).
//創建字符串對象
//(1)初始化方法
// NSString *str = [[NSString alloc] initWithFormat:@"My "];
//(2)便利構造器
// NSString *string = [NSString stringWithFormat:@"haokun"];
//(3)將C語言的字符串轉化爲OC的字符串對象;
// char cStr[] = "iphone";
// NSString *OCStr = [NSString stringWithUTF8String:cStr];
//1字符串長度
NSString *str = [NSString stringWithFormat:@"lanou henan"];
NSUInteger leng = str.length;
NSLog(@"%lu", leng);
//2判斷字符串是否是 http 開頭, 以png 結尾,如果是打印"這是一個有效連接",否則打印"連接出錯";
NSString *str = [NSString stringWithFormat:@"http://www.baidu.com/picture/yuzhenluozhao.png"];
//hasPrefix :判斷字符串是否以某個字符串開頭,返回值是bool類型
//hasPrefix : 判斷字符串是否以某個字符串結尾,返回值是bool類型
BOOL isPrefix = [str hasPrefix:@"http"];
BOOL isSuffix = [str hasSuffix:@"png"];
if (isPrefix && isSuffix) {
NSLog(@"");
}
//3判斷字符串是否相等
NSString *str1 = [NSString stringWithFormat:@"Hello"];
NSString *str2 = [NSString stringWithFormat:@"hello"];
//判斷地址
if (str1 == str2) {
NSLog(@"兩個對象地址相等");
} else {
NSLog(@"兩個對象地址不同");
}
//4判斷內容
if ([str2 isEqualToString:str1]) {
NSLog(@"兩個字符串內容相同");
} else {
NSLog(@"兩個字符串內容不同");
}
//5獲取子串
NSString *string = [NSString stringWithFormat:@"keepcalm"];
//獲取keep
NSString *keepString = [string substringToIndex:4];
NSLog(@"%@", keepString);
//獲取calm
NSString *calmString = [string substringFromIndex:4];
NSLog(@"%@", calmString);
//獲取pca
// NSMakeRange(NSUInteger loc, NSUInteger len) 快速創建 NSRange 類型的結構體變量
NSString *pcaString = [string substringWithRange:NSMakeRange(3, 3)];
NSLog(@"%@", pcaString);
//6字符串拼接
NSString *str = [NSString stringWithFormat:@"hehhe"];
//拼接
NSString *newStr = [str stringByAppendingFormat:@"aaaaa%dclass", 53453];
NSLog(@"%@", newStr);
//7字符串替換
NSString *str = [NSString stringWithFormat:@"hfdhfa"];
//將a 換成aaa
NSString *newStr = [str stringByReplacingOccurrencesOfString:@"a" withString:@"aaa"];
NSLog(@"%@", newStr);
//8比較字符串
NSString *str1 = [NSString stringWithFormat:@"lhdshf"];
NSString *str2 = [NSString stringWithFormat:@"asdf"];
NSComparisonResult result = [str1 compare:str2];
NSLog(@"%ld", result);
//9大小寫轉換
NSString *str = [NSString stringWithFormat:@"lngfdknhHHO"];
//(1)全部大寫
NSString *upperStr = str.uppercaseString;
NSLog(@"%@", upperStr);
//全部小寫
NSString *lowerStr = str.lowercaseString;
NSLog(@"%@", lowerStr);
//首字母大寫
NSString *capitalStr = str.capitalizedString;
NSLog(@"%@", capitalStr);
//字符串與基本數值類型轉換
int a = 10;
NSString *str = [NSString stringWithFormat:@"%d", a];
NSLog(@"%@", str);
int b = [str intValue];
NSLog(@"%d", b);
//基本類型 --- NSNumber
char num1 = 'a';
NSNumber *newNum1 = [NSNumber numberWithChar:num1];
//NSNumber --- 基本類型
NSNumber *nu = [NSNumber numberWithInt:23];
int a = [nu intValue];