在iOS开发过程中,对于字符串的处理必不可少。无论是展示给用户看到的字符串效果,抑或是对用户输入的字符串处理,无处不在的字符串考验着每个开发者的基本功。
神奇化易是坦道,易化神奇不足提!话不多说,上代码:
一:截取字符串
//自定义范围截取字符串NSMakeRange(开始的位置,截取的长度)[@"0123456"substringWithRange:NSMakeRange(1,2)];//结果为:12
//从给定的下标开始截取到最后,包括给出的下标 [@"0123456"substringFromIndex:3];//结果为:3456
//从字符串的第一个字符截取到给定的下标,不包括给出的下标 [@"0123456"substringToIndex:3];//结果:012
二:替换拼接
//用"a"替换字符串中出现的所有"1"[@"123321"stringByReplacingOccurrencesOfString:@"1"withString:@"a"];//结果:a2332a
在用户输入的时候 很有可能会多出来空格,使用这个方法可以很方便的去除字符串中的所有空格.
[stringstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]];这个方法则只能去除字符串开头的空格,当然它也有自己的优势,可以根据自己的需求使用。
//此方法用给定的字符串替换选中的范围内的字符串,既用“a”替换“23”
[@"0123456"stringByReplacingCharactersInRange:NSMakeRange(2,2)withString:@"a"];//结果:01a456
字符串的拼接比较简单,这里就介绍几个比较典型的:
//这个方法用“123”分别拼接后面数组的里每一个字符串,拼接的时候在两个字符串间加上/
[@"123"stringsByAppendingPaths:@[@"456",@"789"]];//结果"123/456","123/789"
//结果:123/456 多用于路径的拼接
[@"123"stringByAppendingPathComponent:@"456"];
//结果:123.456 多用于扩展名的拼接
[@"123"stringByAppendingPathExtension:@"456"];
三:判断字符串是否有某一个字符
方法一:
//查询字符串中是否有某个自符
NSString*str =@"asddsadfg";
for(inti =0; i < str.length; i ++) {
//这个方法是搜寻字符串中是否有某个字符并返回一个nsrang
NSRange range = [str rangeOfString:@"d"];
if(range.location!=NSNotFound) {
NSLog(@"range == %@ ",NSStringFromRange(range));
str = [strstringByReplacingCharactersInRange:rangewithString:@"\a"];
NSLog(@"str== %@",str);
}
}
方法二:(还可以判断字符串中是否有某一类型的字符)
NSString*string =@"1UcccUcc10";
for(inti =0; i < string.length; i ++) {
charcstr = [stringcharacterAtIndex:i];
BOOLbl = [[NSCharacterSetuppercaseLetterCharacterSet]characterIsMember:cstr];
if(bl) {
NSLog(@"有");
}else{
NSLog(@"没有");
}
}
判断一整个字符串是否是 某个类型的
int a ;
NSScanner*scan = [NSScannerscannerWithString:@"123"];
NSLog(@"result==%d",[scanscanInt:&a]&& [scanisAtEnd] );
富文本
效果图//字符串的attributed
NSMutableAttributedString*attributeStr = [[NSMutableAttributedStringalloc]initWithString:@"我爱学习,学习爱我!"];
NSRangeredRange =NSMakeRange(0,4);
[attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:redRange];
字符串和 结构体的 相互转换
FOUNDATION_EXPORTNSString*NSStringFromRange(NSRangerange);
FOUNDATION_EXPORTNSString*NSStringFromPoint(NSPointaPoint);
FOUNDATION_EXPORTNSString*NSStringFromSize(NSSizeaSize);
FOUNDATION_EXPORTNSString*NSStringFromRect(NSRectaRect);
FOUNDATION_EXPORTNSRangeNSRangeFromString(NSString*aString);
FOUNDATION_EXPORTNSPointNSPointFromString(NSString*aString);
FOUNDATION_EXPORTNSSizeNSSizeFromString(NSString*aString);
FOUNDATION_EXPORTNSRectNSRectFromString(NSString*aString);