NSString對象用于存儲文本字符串
·創建NSString對象:
//1.快速創建
NSString *str1 = @"這是 個字符串!";
//2.alloc創建的字符串
NSString *str2 = [[NSString alloc] initWithString:@"通過alloc創建的字符串"];
//3.通過格式化符創建
int a = 100;
NSString *str3 = [[NSString alloc] initWithFormat:@"通過alloc創建,數值是:%d",a];
//4.通過格式化符創建
NSString *str4 = [NSString stringWithFormat:@"通過類方法創建,數值是:%d",a];
比較字符串的大小
NSString *s1 = [NSString stringWithFormat:@"字符串"];
NSString *s2 = [NSString stringWithFormat:@"字符串"];
// 較的是指針地址
if (s1 == s2) {
NSLog(@"s1 == s2");
}
//比較是字符串里的內容
BOOL isSame = [s1 isEqualToString s2];
if(isSame) {
NSLog {@"字符串內容一樣"};
}
比較字符串
NSString *s1 = [NSString stringWithFormat:@"a"];
NSString *s2 = [NSString stringWithFormat:@"b"];
// 比較大小
NSComparisonResult result = [s1 caseInsensitiveCompare s2];
if (result == NSOrderedAscending) {
NSLog(@"升序:a<b");
} else if(result == NSOrderedSame) {
NSLog(@"內容相同");
}else if(result == NSOrderedDescending) {
NSLog(@"降序,a>b");
}
取得字符串長度
NSString *s = @"abc";
//字符串長度
unsigned int len = [s length];
大小寫轉換
NSString *hello = @"hello WORLD";
// 全部大寫
NSLog(@"%@", [hello uppercaseString]);
// 全部小寫
NSLog(@"%@", [hello lowercaseString]);
// 首字母大寫,其他字母變小寫
NSLog(@"%@", [hello capitalizedString]);
轉換為基本數據類型
NSString *str1 = @"10";
int a = [str1 intValue];
NSString *str2 = @"10.25";
float b = [str2 floatValue];
NSString *str3 = @"1";
BOOL flag = [str3 boolValue];
訪問指定位置字符
//結果:b 指定位置是從0開始計算的
NSString *string = @"abcdef";
char s = [string characterAtIndex:1];
字符串的截取
指定位置是從0開始計算的
1.分割字符串
NSString *str = @"aaasdfsdf,bbb,ccc,ddd";
//使用”,”分割 形成不同的字符串在數組中
NSArray *array = [str componentsSeparatedByString:@“,"];
2.截取到指定位置
NSString *string = @"abcdef";
//截取索引為2前面的字符串, 結果為ab,
NSString *subString1 = [string substringToIndex:2];
3.從指定位置截取到末尾
//從索引為1的位置截取到末尾 結果為bcde;
NSString *subString2 = [string substringFromIndex:1];
4.指定范圍截取
//NSRange表示范圍,(位置, 度) 結果為bc
NSRange range = NSMakeRange(1, 2);
NSString *subString3 = [string substringWithRange:range];
拼接字符串
NSString *str1 = @"ab";
//字符串1
NSString *str2 = @"cd";
//字符串2
NSString *string1 = [NSString stringWithFormat:@"字符串1:%@, 字符串2:%@",str1,str2];
//結果:字符串1:ab, 字符串2:cd
NSString *string2 = [str1 stringByAppendingString:str2];
//結果:abcd
NSString *string3 = [str1 stringByAppendingFormat:@“追加字符串2:%@",str2];
結果:追加字符串2:cd
查找字符串中的內容
NSString *email = @"123456@qq.com";
NSString *substring = @"@qq.com";
//在字符串email中查找substring
NSRange range = [email rangeOfString substring];
if (range.location != NSNotFound) {
NSLog(@"%@包含%@",email,substring);
NSLog(@"位置是:%ld, 度是:%ld",range.location,range.length);
} else {
NSLog(@"沒找到");
}
替換字符串
//結果:123456@163.com
NSString *newEmail = [email stringByReplacingOccurrencesOfString:@"qq.com" withString:@"163.com"];
判斷字符串是否有相應的前綴后綴
NSString *str23 = @"wxhl@edu.com";
BOOL isPrefix = [str23 hasPrefix:@"wxhl"];
NSLog(@"isPrefix:%d", isPrefix);
BOOL isSuffix = [str23 hasSuffix:@"co"];
NSLog(@"isSuffix:%d", isSuffix);