您的位置:首页 > 其它

Foundation框架学习(一)NSString

2015-05-24 02:51 393 查看

字符串对象的创建  

• 对象方法:
NSString *s1 = @"hello world";
//NSString *s2 = [[NSString alloc] initWithString:@"hello world!"]; /

/不推荐使用
NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10];

• 类方法:
NSString * s7 = [NSString stringWithFormat:@"age is %d", 20]; NSString * s8 = [NSString stringWithUTF8String:p];

字符串对象与char*的转换  

char *p = “hello world!”;

//C语言的字符串--转换-->OC字符串
NSString *s4 = [NSString stringWithUTF8String:p];

//OC字符串--转换--》C语言的字符串 char *cs = [s4 UTF8String];

取字符串对象中的字符

   按下标获取字符

- (unichar)characterAtIndex:(NSUInteger)index

获取所有字符

- (unichar)characterAtIndex:(NSUInteger)index

获取范围内的字符

-( void)getCharacters:(unichar*)buffer range:(NSRange)aRange typedef unsigned short unichar; //两字节的字符,万国码 @property(readonly) NSUInteger length //字符串的长度

从文件中读/写字符串对象  

+ (instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc

error:(NSError **)error

Path:文件的绝对路径 Enc:编码方式,如NSUTF8StringEncoding error:错误码

-( BOOL)writeToFile:(NSString*)path atomically:(BOOL)useAuxiliaryFile

encoding:(NSStringEncoding)enc error:(NSError **)error

useAuxiliaryFile:YES则表示一半时出错不会创建文件

从URL中读/写字符号对象  

+ (instancetype)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc

error:(NSError **)error

- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc

error:(NSError **)error

Url:资源路径,以协议头://开头,如 file://... http://... ftp://...

字符串的追加、分割  

        -  (NSString *)stringByAppendingFormat:(NSString *)format 


        -  (NSString *)stringByAppendingString:(NSString *)aString 
 按分割字符进行分割,返回对象数组

        
- (NSArray *)componentsSeparatedByString:(NSString *)separator 
 获得子串,从指定位置到结尾

        


- (NSString *)substringFromIndex:(NSUInteger)anIndex 获得子串,按照指定范围
- (NSString *)substringWithRange:(NSRange)aRange 获得子串,从开头到指定位置

- (NSString *)substringToIndex:(NSUInteger)anIndex

字符串的遍历

- (void)enumerateLinesUsingBlock:
(void (^)(NSString *line,BOOL *stop))block

如:

[str enumerateLinesUsingBlock:( ^(NSString *line, BOOL *stop) { NSLog(“%@”, line);

}];

字符串对象表示路径

获得是否是绝对路径

-@ property(getter=isAbsolutePath, readonly) BOOL absolutePath 获得最后一部分
-@ property(readonly, copy) NSString *lastPathComponen 获得路径的扩展名

-@ property(readonly, copy) NSString *pathExtension
追加路径 -( NSString*)stringByAppendingPathComponent:(NSString*)aString 追加后缀名 -( NSString*)stringByAppendingPathExtension:(NSString*)ext 删除掉最后一部分路径

@property(readonly, copy) NSString*stringByDeletingLastPathComponent

删除扩展名

@property(readonly, copy) NSString *stringByDeletingPathExtension

字符串和的转换

@property(readonly) double doubleValue

@property(readonly) float floatValue

@property(readonly) int intValue

@property(readonly) NSInteger integerValue

@property(readonly) long long longLongValue

@property(readonly) BOOL boolValue

  

字符串的大小写转换、比较  

返回全小写形式

@property(readonly, copy) NSString *lowercaseString

返回全大写形式

@property(readonly, copy) NSString *uppercaseString

- (BOOL)isEqualToString:(NSString *)aString

- (NSComparisonResult)compare:(NSString *)aString
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息