01-字符串(OC-Swift)
2017-02-19 本文已影响79人
默默学习
1. OC
1.1 NSString : 不可变字符串
//1.创建NSString4种方法
//1.1基础方法
NSString *tr1 = @"123";
NSLog(@"%@",tr1);
//1.2特殊方法
NSString *tr2 = [NSString new];
tr2 = @"123";
NSLog(@"%@",tr1);
//1.3类方法
NSString *tr3 = [NSString stringWithFormat:@"%@-%@",@"qwe", @"123"];
NSLog(@"%@",tr3);
//1.4用一个已经存在的字符串创建一个新的字符串
NSString *tr4 = [NSString stringWithString:tr1];
NSLog(@"%@",tr4);
//2.字符串长度
NSString *tr11 = @"qwe-QWE";
NSLog(@"字符串长度:%lu", (unsigned long)[tr11 length]);
//3.取出字符串中某个位置的字符
char cc = [tr1 characterAtIndex:1];
NSLog(@"%c", cc);
//4.比较
//4.1无条件比较
NSComparisonResult firstCompare = [tr1 compare:tr2];
//{NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};
switch (firstCompare) {
case NSOrderedSame:
NSLog(@"tr1 和 tr2 相同");
break;
default:
NSLog(@"tr1 和 tr2 不相同");
break;
}
/*compare 常用的3个条件:
NSCaseInsensitiveSearch:不区分大小写字符
NSLiteralSearch:进行完全比较,区分大小写(默认)
NSNumericSearch:比较字符串的字符个数,而不是字符值
*/
//4.1无条件比较
NSComparisonResult secondCompare = [tr3 compare:tr11 options:NSNumericSearch];
//{NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};
switch (secondCompare) {
case NSOrderedSame:
NSLog(@"tr3 和 tr11 相同");
break;
default:
NSLog(@"tr3 和 tr11 不相同");
break;
}
//5.判断字符串是否相等->返回布尔值
NSLog(@"tr1 : str2 : %hhd", [tr1 isEqualToString:tr2]);
//6.检查前后缀
//6.1检查前缀
NSLog(@"tr1前缀是否包含12:(1为真,0为假)%hhd", [tr1 hasPrefix:@"12"]);
//6.2检查后缀
NSLog(@"tr1后缀是否包含3:(1为真,0为假)%hhd", [tr1 hasSuffix:@"3"]);
//7.NSString字符串的查找
//7.1查找某个字符串在另外一个字符串中首次出现的位置
/*
//查找2在1中首次出现的位置
//range 结构体变量 NSRange 结构体别名
//如果查找不到location返回NSNotFound,length返回0
//NSStringFromRange(raange1) 把结构体转换成NSString类型
*/
NSRange raange1 = [tr11 rangeOfString:@"e-"];
NSLog(@"'%@'字符串中'e-'所在位置为:%@",tr11, NSStringFromRange(raange1));
NSRange raange2 = [tr11 rangeOfString:@"+"];
NSLog(@"'%@'字符串中'+'所在位置为:%@",tr11, NSStringFromRange(raange2));
NSLog(@"%d",raange2.location == NSNotFound);
//8.字符串的截取
//8.1从**指定位置**from开始(包括指定位置的字符)到尾部
NSLog(@"原字符串显示为:%@",tr11);
NSLog(@"8.1 字符串的截取:%@",[tr11 substringFromIndex:3]);
//8.2从字符串的开头一直截取到**指定的位置**to,但不包括该位置的字符
NSLog(@"原字符串显示为:%@",tr11);
NSLog(@"8.2 字符串的截取:%@",[tr11 substringToIndex:3]);
//8.3按照所给出的NSRange从字符串中截取字符串
NSLog(@"原字符串显示为:%@",tr11);
NSLog(@"8.3 字符串的截取:%@",[tr11 substringWithRange:NSMakeRange(0, 3)]);
//9.字符串的替换
NSLog(@"原字符串显示为:%@",tr11);
NSLog(@"9.字符串的替换:%@", [tr11 stringByReplacingOccurrencesOfString:@"-" withString:@"__+ O +__"]);
//10.NSString去除首尾空格
NSString *rre = @" wanfrdejiefe ";
NSLog(@"原字符串显示为:%@",rre);
NSLog(@"10.NSString去除首尾空格:%@", [rre stringByTrimmingCharactersInSet:NSCharacterSet.whitespaceCharacterSet]);
1.2 NSMutableString : 可变字符串
// 将不可变的字符串转换为可变的字符串
NSMutableString * str = [[NSMutableString alloc]initWithString:@"hello world"];
// 在指定下标为2的(不要越界)位置插入013字符串
[str insertString:@"013" atIndex:2];
// 在字符串末尾追加字符串taotao
[str appendString:@"taotao"];
// 从0位置删除2个字符
[str deleteCharactersInRange:NSMakeRange(0, 2)];
// 给字符串重新赋值
[str setString:@"yintian"];
// 将3位置后1个字符替换成ios字符串
[str replaceCharactersInRange:NSMakeRange(3, 1) withString:@"ios"];
2.Swift
待定