`
Keys
  • 浏览: 37517 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Object-C学习笔记 基础部分(一)NSString常用方法

阅读更多
个人学习笔记
NSString

--实例化方法--------------
NSString *str = [[NSString alloc] init];
NSString *str = [[[NSString alloc] init] autorelease];  

注意:在NSString 中存在自己的实例化和初始化的方法 例如:
NSString *str1 = [NSString stringWithCString:"new String" enconding: NSACIIStringEncoding];
NSString *str2 = [NSString alloc] initWithCString:"new String" enconding: NSACIIStringEncoding];
str1和str2两个对象是相同的。

--NSStringEncoding 中常用的字符编码----------------
     NSASCIIStringEncoding
     NSUTF8StringEncoding
     NSUnicodeStringEncoding

--NSString创建实例----------------
带“@”符号的方法只能定义含有英文和数字的NSString实例,例如:
NSString *str = "Hello money~";
--生成含有中文的NSString方法-------------
//此方法自动释放内存
+ (id)stringWithCString:(const char*)cString encoding:(NSStringEncoding)encoding;
//进行alloc后进行初始化
- (id)initWithCString:(const char*)cString encoding:(NSStringEncoding)encoding;
例如:
NSString *string = [NSString stringWithCString:"您好" encoding:NSUTF8StringEncoding];
NSString *string = [[NSString alloc] initWithCString:"您好" encoding:NSUTF8StringEncoding];

--使用格式创建字符串-------------
+ (id)stringWithFormat:(NSString *)format...
- (id)initWithFormat:(NSString *)format...
例如:
NSString *str = "hello";
NSString *string = [NSString stringWithFormat:@"%@ world",str];
NSLog(string); 结果:hello world
--常用的替换符--------------
%@ NSString实例
%d,%D,%i 整数
%u,%U 无符号整数
%x 将无符号整数以十六进制小写字母显示
%X 将无符号整数以十六进制大写字母显示
%f 小数
%c 字符
%s C语言字符串
%% 显示%字符本身

--------------------------
NSRange

--NSRange的定义
typedef struct _NSRange
{
     unsigned int location;
     unsigned int length;
}NSRange;

NSMakeRange函数
--这个函数比较特殊 返回一个NSRange的对象。
NSMakeRanger(unsigned int location,unsigned int length);
例如:
NSRange range = NSMakeRanger(0,5);
NSLog(@"location is %d,length is %d",range.location,range.length);

---------------------------
计算字符串长度
- (unsigned int)length;

---------------------------
字符串连接,插入和删除
1、连接
- (NSString *)stringByAppendingString:(NSString *)string;
- (NSString *)stringByAppendingFormat:(NSString *)format...;
例如:
     NSString *str1 = @"hello";
     NSString *str2 = @"world";
     NSString *str3 = [str1 stringByAppendingString:str2];
     NSString *str4 = [str2 stringByAppendingFormat:@"%d...%d",10,20];
     str4 --> world 10...20
   
     -----------------
     NSMutableString的生成
     NSString   + (id)string;  //生成空字符串的实例
     + (id)stringWithString:(NSString *)string;     //带自动释放内存
     - (id)initWithString:(NSString *)string;
     例如:
     NSMutableString *string = [NSMutableString stringWithString:@"hello"];
2、追加字符串
     NSMutableString
     + (void)appendString:(NSString *)string;
     - (void)appendFormat:(NSString *)format...;
     例如:
     NSMutableString string = [NSMutableString string];
     [string appendString:@"hello"];
     [string appendString:@"money"];
     [string appendString:@" and world"];
3、插入字符串
     NSMutableString
     + (void)insertString:(NSString *)string atIndex:(unsigned)index;
     从index位置插入字符串
     例如:
     NSMutableString *string = [NSMutableString stringWithString:@"Mac X"];
     [string insertString:@"OS" atIndex:4];
     string --> Mac OS X
4、删除字符串
     NSMutableString
     + (void)deleteCharactersInRange:(NSRange)range;
     例如:
     NSMutableString *string = [NSMutableString stringWithString:@"Mac os"];
     [string deleteCharactersInRange:NSMakeRanger(0,1)];
     NSLog(string);
     string -->ac os;
5、字符串比较
     NSString
     - (BOOL)isEqualToString:(NSString *)string;
6、比较前置串和后置串
     NSString
     - (BOOL)hasPrefix:(NSString *)string;
     - (BOOL)hasSuffix:(NSString *)string;
     例如:
     NSString *str1 = @"Mac OS";
     NSString *str2 = @"Mac Pro";
     BOOL flag;
     flag = [str1 hasPrefix:@"Mac"];  YES
     flag = [str2 hasSuffix:@"OS"];      NO
7、字符串检索
     NSString
     //如果找到就返回范围,否则NSRange的location项被设置为NSNotFound
     - (NSRange)rangeOfString:(NSString *)subString;
     - (NSRange)rangeOfString:(NSString *)subString option:(unsigned)mask;
     - (NSRange)rangeOfString:(NSString *)subString option:(unsigned)mask      range:(NSRange)range;                                                                                       
     -----mask常用选项列表
     NSCaseInsensitiveSearch          不区分字母大小写
     NSLiteralSearch          对字符串进行字节单位的比较,一般可提高检索速度
     NSBackwardsSearch     从范围的末尾开始检索
     NSAnchoredSearch     仅检索制定范围的前部。忽略字符串中间的检索字符
     例如:
     NSString *string = @"hello world";
     NSRange range = [string rangeOfString:@"he"];
     if(range.location != NSNotFound)
     {
          NSLog(@" location=%d,length=%d",range.location,range.length);
     }
8、截取字符串
     NSString
     - (NSString *)substringToIndex:(unsigned)index;     //返回字符串开头至index位的字符串 不包含索引位
     - (NSString *)substringFromIndex:(unsigned)index; //返回字符串第index位至末尾的字符串 包含索引位
     - (NSString *)substringWithRange:(NSRange)range;     //返回字符串中范围range内的字符串 包含索引位
     例如:
     NSString *string = [string substringWithRange:NSMakeRange(5,2)];
9、读取文本文件
     NSString
     + (id)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error     //自动释放内存
   
     - (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error
   
     例如:
     NSString *string = [NSString stringWithContentsOfFile:@"/user/test/yw.txt" encoding:NSUTF8StringEncoding error:&error];
     if(string){}
10、输出文本文件
     NSString
     - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error
     //参数 atomically 暂时将文件保存到辅助文件中
     //path
     The file to which to write the receiver. If path contains a tilde (~) character, you must expand it with stringByExpandingTildeInPath before invoking this method.
    ----下面是网上找的例子 感谢 @chenshizero
    //扩展路径
    NSString *Path = @"~/NSData.txt";
    NSString *absolutePath = [Path stringByExpandingTildeInPath];
    NSLog(@"absolutePath:%@",absolutePath);
    NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);

    //文件扩展名
    NSString *Path = @"~/NSData.txt";
    NSLog(@"Extension:%@",[Path pathExtension]);
0
1
分享到:
评论

相关推荐

    Object-C语言教程&案例,要点难点,代码示例,代码解析

    基础语法:熟悉C语言基础是前提,Objective-C是在C语言的基础上增加了面向对象特性。 面向对象:理解类(Class)、对象(Object)、实例变量(Instance Variables)、方法(Methods)、继承(Inheritance)、封装...

    Object-c字符串数组字典

    合以及快速OC语言中的字符串是NSString 初始化 -(id) initWithString:(NSString *)str; -(id) initWithFormat:(NSString *)format... 求字符串长度 -(NSInteger) length 取字符串某个位置的字符 -(unichar) ...

    Object-C 友盟社会化组件SDK 分享、第三方平台授权 自封装展示页面

    iOS object-C 社会化组件SDK v6.0.0(2016-9-23) 分享、第三方平台授权 自封装 // 分享 [_shareView showShareWithViewController:self type:ShareTypeSku title:@"欧哥斯家用制氧机" content:@"好消息" ...

    Object-C-MixinObject-C-MixinObject-C-Mixin

    It's a good start to understand how to write mixin in Object-C. ### Import ObjCMixin ```objc #import ``` ### Define and implement a module Declare a module. ```objc @module(MyModule) @property...

    iPhone之NSString常用方法示例程序

    这是iPhone之NSString常用方法示例程序,具体参考: http://blog.csdn.net/htttw/article/details/7884632

    Object-C字符串

    在Objective-C中,字符串是一种表示文本数据的数据类型,用于存储和操作文本信息。Objective-C中的字符串类型是NSString类的实例。NSString类提供了丰富的方法和属性,用于处理字符串的创建、操作和格式化。 以下是...

    ios-网络加载器.zip

    使用方法 只有hud隐藏后,才会去创建新的hud,否则一直复用一个hud,至于那个- (void)showTitle:(NSString *)title navigationBar:(BOOL)hiden; 是为了自己项目里加,防止位置错乱 /** * 只带文字提示 * * @...

    Object-c 语法快速入门

    2、记住你自己看不懂不表示脑子迟钝,大部分人第一次看Objective-C的代码可能比你还要迟钝。 3、把CocoaChina.com加入收藏夹,看不明白代码就来再看一遍这篇开宗明义的好文。 4、文档很关键,当你看不懂某些东西说...

    Objective-C中NSString的各种用法

    Objective-C语言有关NSString的各种用法(创建、截取、判断比较、转化数据类型、拼接、替换…)

    ios zip压缩解压缩

    -(BOOL) CreateZipFile2:(NSString*) zipFile Password:(NSString*) password; -(BOOL) addFileToZip:(NSString*) file newname:(NSString*) newname; -(BOOL) CloseZipFile2; -(BOOL) UnzipOpenFile:(NSString*) ...

    Objective-C---How-to-Create-And-Use-NSString-Latest-2017-Hindi-:源代码-How to use the source code

    Objective-C-如何创建和使用NSString最新2017-印地语- 视频:-Yogesh Patel在Objective-C中使用NSString类的介绍。 在本频道中,我将在多部视频中讲授大多数目标C编程语言。 一定要去MyChannel享受视频和不要忘记...

    iphone 开发学习基础NSString

    object-c 适合初学者,主要学习字符串的操作,包括字符串赋值、字符串合并、字符串比较、字符串大小写转换、字符串截取、字符串搜索替换、字符串遍历等

    Objective-C中字符串NSString的常用操作方法总结

    (2)常用创建方法 代码如下: NSString *string = [[NSString alloc] init]; string = @”i am an iOSDevTip too!”; (3)用initWithString创建字符串 代码如下: NSString *string = [[NSString alloc] ...

    Apple IAP范例

    NSString* _buyProductIDTag; } + (CBiOSStoreManager*) sharedInstance; - (void) buy:(NSString*)buyProductIDTag; - (bool) CanMakePay; - (void) initialStore; - (void) releaseStore; - (void) ...

    Object C 字符串和数组NSString NSArray操作

    Object C 字符串和数组NSString NSArray操作

    object c/iphone 开发 试题

    (@是把C的字符串转成NSString的一个简写) 7.开发objc类,需要创建一个头文件和一个实现文件 ①头文件(.h):包含类的实例变量的名称和类型、描述方法参数和返回值类型的方法签名; ②实现文件(.m):包含这些方法的实现...

    Objective-C中使用NSString类操作字符串的方法小结

    一、字符串切割 1、带节点的字符串,如@”讨厌的节点 </p>”我们只想要中间的中文 处理方法: 代码如下: NSString *string1 = @”讨厌的节点 </p>”;   /*此处将不想要的字符全部放进characterSet1中,不需...

    ORMGenerator:极简的ORM代码生成器,对Object-c的类进行语法解析, 可根据Object-c的类定义,自动生成ORM框架需要的函数。理论上可适配任意ObjC的ORM框架 !!!

    极简的ORM代码生成器,对Object-c的类进行语法解析, 可根据Object-c的类定义,自动生成ORM框架需要的函数。理论上可适配任意ObjC的ORM框架 !!! 在model对象里标记成员 ORMDataBase(x) 标记数据库名字 ORMTable(x) ...

    base64-utf8编码的NSString转化为NSString

    在解析xib文件的时候发现有的节点内容的编码是 base64-UTF8,其实这个节点内容的编码顺序是先将NSString转化为utf8格式的NSData,再将NSData通过base64加密。刚拿到这样的字符串的时候感觉有点绕,但是仔细分析下来...

Global site tag (gtag.js) - Google Analytics