Objective-C NSString字符串处理简单总结 plus 字符串与数值互相转换
Posted on 2012-03-15 01:14 无忧consume 阅读(409) 评论(0) 编辑 收藏 举报http://blog.163.com/prevBlogPerma.do?host=zyc-to&srl=171524002010104680552&mode=prev
Convert NSString to int
1、NSString
*aNumberString =
@"123"
;
2、int
i = [aNumberString intValue];
Convert int to NSString
NSString*boo =[NSString stringWithFormat:@"%@",ln];
1、int
aNumber = 123;
2、NSString
*aString = [
NSString
stringWithFormat:
@"%d"
, aNumber];
NSString字符串处理简单总结
连接字符串:
NSArray *strings=...;
string=[stringscomponentsJoinedByString:@" :-) "];
// 结果:string1:-)string2:-)......
上边那个Xcode4也许不行试试这个:
NSString *mo = [[NSString alloc] initWithString:@"string 1"];
mo = [mo stringByAppendingString:@" string 2"];
mo = [mo stringByAppendingString:@" string 2"];
分割字符串
NSString *string=@"string1:string2:string3:string4:string5";
NSArray *chunks=[stringcomponentsSeparatedByString:@":"];
转成数值:
NSString *string=...;
NSMutableString *mstring=[NSMutableStringstringWithString:string];
intintValue=[string intValue];// int数值
floatfloatValue=[string floatValue];// float数值
doubledoubleValue=[string doubleValue];// double数值
从字符串中去除换行
可以使用上面提到的分割字符串,然后再将它们连接起来。但是采用下面的方式更好一些。
NSRange wholeShebang=NSMakeRange(0,[mstring length]);
[mstringreplaceOccurrencesOfString:@"
"
withString:@""
options:0
range:wholeShebang];
这个方法也可以用来替换字符串。这种方法比分割/连接字符串的方法稍微快一点儿,但不是很明显。处理长度1500000的字符串,当中有36909个换行,分割/连接的方法要0.124秒,这个方法要0.071秒。
取得子字符串
NSRange range=[[string name]rangeOfString:otherStringoptions:NSCaseInsensitiveSearch];
取得当前日期的字符串
通常将Date转化成NSString的方法是使用NSDateFormatter,但有时候可以使用特殊方法更简单的进行转化。比如想得到:“December 4, 2007”
[[NSDate date]descriptionWithCalendarFormat:@"%B %e, %Y"timeZone:nillocale:nil]
Trim一个NSString
NSString *ook=@"\n \t\t hello there \t\n \n\n";
NSString *trimmed=
[ookstringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
// 结果是hello there
按行处理一个字符串
如果一个本文文体,每一行是一条数据,想循环处理每一条数据要怎么做简单呢。看下面的例子:
NSMutableArray *altitudes=[NSMutableArray array];
NSString *altitudeString=[selfaltitudeStringFromGoogle:coords];
[altitudeStringenumerateLinesUsingBlock:^(NSString *line,BOOL*stop){
floatvalue=[line floatValue];
[altitudesaddObject:[NSNumbernumberWithFloat:value]];
}];
将字符串放在剪贴板上的方法
@implementationNSString(PasteboardGoodies)
-(void)sendToPasteboard
{
[[NSPasteboard generalPasteboard]
declareTypes:[NSArrayarrayWithObject:NSStringPboardType]
owner:nil];
[[NSPasteboard generalPasteboard]
setString:self
forType:NSStringPboardType];
}// sendToPasteboard
@end// PasteboardGoodies