NSString中方法的使用

NSString的使用。

1、 - (NSUInteger)length; 返回字符串的长度

NSString *demo = @"hello world";

NSString *demo [email protected]"good morning";

NSLog(@"%ld", [demo length]);
输出为 11

2 - (unichar)characterAtIndex:(NSUInteger)index; 返回在字符串中的某个位置的字符
NSLog(@"%C", [demo characterAtIndex: 2]);
 输出为2;

3、- (void)getCharacters:(unichar *)buffer range:(NSRange)aRange; 截取某段字符到buffer中

定义buffer不用*

uichar buffer[12];

4- (NSString *)substringFromIndex:(NSUInteger)from;  截取指定位置后面的字符串
NSLog(@"%@", [demo substringFromIndex:3]);
输出为 lo world

5、- (NSString *)substringToIndex:(NSUInteger)to;  截取指定长度的字符串,从索引0开始
NSLog(@"%@", [demo substringToIndex:3]);
输出为  hel

6、- (NSString *)substringWithRange:(NSRange)range;   截取字符串指定段,返回类型NSString
NSLog(@"%@", [demo substringWithRange:NSMakeRange(2, 3)]);
输出为 llo

7、- (NSComparisonResult)compare:(NSString *)string;   比较字符串
NSString *demoTwo = @"good morning";
NSLog(@"%ld", [demo compare:demoTwo]); 

 比较字符输出为 因为H比G大  所以返回为1;

8、- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string; 不区别大小比较

NSLog(@"%ld", [demoTwo caseInsensitiveCompare:@"Good Morning"]);
输出为 0

9、- (NSComparisonResult)localizedCompare:(NSString *)string; 本地化比较
NSLog(@"%ld", [demoTwo localizedCompare:@"大家早"]);
输出为 -1

10、- (BOOL)isEqualToString:(NSString *)aString; 测试两个字符串是否相等
NSLog(@"%d", [demoTwo isEqualToString:@"Good Morning"]);
输出为 0

12、- (BOOL)hasPrefix:(NSString *)aString;  测试字符串是否以 nsstring 开始

NSLog(@"%d", [demoTwo hasPrefix:@"good"]);
2013-02-27 19:17:55.088 NSStringDemo[766:303] 1

13、- (BOOL)hasSuffix:(NSString *)aString;  测试字符串是否以 nsstring 结尾

NSLog(@"%d", [demoTwo hasSuffix:@"morning"]);
输出为  1

14、- (NSRange)rangeOfString:(NSString *)aString; 搜索字符串One是否存在于字符串Two
NSLog(@"%ld", [demoTwo rangeOfString:@"morning"].location);
输出为  5

15、- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask; 以某些限制条件搜索字符串One是否存在于字符串Two
NSLog(@"%ld", [demoTwo rangeOfString:@"Morning" options:NSCaseInsensitiveSearch].location);
输出为  5

16、- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)searchRange; 以某些限制条件搜索字符串One是否存在于字符串Two指定位置段
NSLog(@"%ld", [demoTwo rangeOfString:@"Mo" options:NSCaseInsensitiveSearch range:NSMakeRange(4, 3)].location);
输出为 5

23、- (NSString *)stringByAppendingString:(NSString *)aString; 将字符串One添加字符串Two后面
NSLog(@"%@", [demoTwo stringByAppendingString:@" too !"]);
输出为  good morning too !

24、- (NSString *)stringByAppendingFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); 将多个字符串添加字符串Two后面

NSLog(@"%@", [demoTwo stringByAppendingFormat:@"and int is %d,string is %@--, %@--,%@--", 3, @"One", @"Two", @"Three"]);
输出为  good morningand int is 3,string is One--, Two--,Three--

25、类型转化- (double)doubleValue; 返回转化的double类型
- (float)floatValue;  返回转化的float类型
- (int)intValue;  返回转化的int类型
- (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);  返回转化的NSInteger(

32位系统NSInteger是一个int,即32位,但当时64位系统时,NSInteger便是64位的)类型

- (long long)longLongValue NS_AVAILABLE(10_5, 2_0); 返回转化的 长int类型
- (BOOL)boolValue NS_AVAILABLE(10_5, 2_0);   返回转化的 长BOOL类型

NSString *demoThree = @"3.343demo";
NSLog(@"%f", [demoThree doubleValue]);
NSLog(@"%f", [demoThree floatValue]);
NSLog(@"%d", [demoThree intValue]);
NSLog(@"%ld", [demoThree integerValue]);
NSLog(@"%ld", [demoThree longLongValue]);
NSLog(@"%d", [demoThree boolValue]);

输出为
3.343000
3.343000
3
3
3
1

26.NSString *demoFour = [[NSString alloc] initWithString:@"One, Two, Three, Four, Five"];字符串转化为数组
NSLog(@"%@", [[demoFour componentsSeparatedByString:@","] objectAtIndex: 3]);
输出为 Four

27、- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator NS_AVAILABLE(10_5, 2_0);  依据字符编码,分割字符串
NSLog(@"%@", [[demoFour componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@","]] objectAtIndex:2]);
输出为  Three

NSString中方法的使用

时间: 2024-10-12 22:48:24

NSString中方法的使用的相关文章

黑马程序员-OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方

Objective-C NSString的方法

今天主要练习NSString NSMutableString NSArray NSMutableArray NSString(字符串) 方法1: [[NSString alloc] initWithFormat:@""] 创建一个字符串的对象,并将其格式化,然后给字符串对象进行赋值 方法2: stringWithFormat:@"" 结构等于[[NSString alloc]initWithFormat:@""]; 便利构造器创建字符串 方法3:

Object-C中方法

//方法         //方法分了两种         //1.类方法,类调用,方法以+开头         //2.实例方法,对象调用,方法以-开头              //类方法和实例方法的区别         //类方法中不能够调用实例变量              //方法的声明              //1.无参数         // +/- (返回值类型)方法的名字 //2.有一个参数         // +/- (返回值类型)方法名字:(参数类型)参数名; //3

iOS字符串NSString中去掉空格(或替换为某个字符串)

http://blog.sina.com.cn/s/blog_6f29e81f0101qwbk.html [问题描述] 今天请求服务器返回的字段中含有空格,这空格是服务器开发人员不小心往数据中多敲了,所以在客户端需要把字符串中的空格过滤掉. [问题分析] 1.使用NSString中的stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]方法只是去掉左右两边的空格: 2.使用NSString *strUrl

java中方法调用

JAVA中方法的调用[基础] 一.调用本类中的方法 方法一.被调用方法声明为static ,可以在其他方法中直接调用.示例代码如下: public class HelloWord { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="HelloWord!"; int a=0; int b=a+1; int result=

C#数字图像处理算法学习笔记(一)--C#图像处理的3中方法

C#数字图像处理算法学习笔记(一)--C#图像处理的3中方法 Bitmap类:此类封装了GDI+中的一个位图,次位图有图形图像及其属性的像素数据组成.因此此类是用于处理像素数据定义的图形的对象.该类的主要方法和属性如下:  GetPixel与SetPixel方法:获取或设置一个图像的指定像素的颜色. PixelFormat属性:返回图像的像素格式. Height和Width:返回图像的高度和宽度. LockBits与UnLockBits方法:分别锁定和解锁系统内存中的位图像素. LockBits

C#中方法的参数的四种类型

C#中方法的参数有四种类型: 1. 值参数类型  (不加任何修饰符,是默认的类型) 2. 引用型参数  (以ref 修饰符声明) 3. 输出型参数  (以out 修饰符声明) 4. 数组型参数  (以params 修饰符声明) =================================================== 1. 值传递: 值类型是方法默认的参数类型,采用的是值拷贝的方式.也就是说,如果使用的是值类型,则可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值.使用

C#反射调用程序集类中方法

建立类 class OperatorClass { /// <summary> /// 加法 /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> /// public static int Add(int x, int y) { r

java中方法的重载与重写的区别

JAVA中方法的重载与重写 1)  方法的的参数上看:重载后的方法与源方法在参数的类型以参数列表的顺序上会发生改变,而重写后的方法在参数的数据类型与参数列表的顺序不会发生改变 2)原方法是否对被覆盖:重载后的方法不会覆盖原方法,而重写后的方法会覆盖父类中的方法,调用时也只会调用重写后的方法. 3)调用方法的对象上:重载后的方法被调用时,调用对象不同时,调用的方法不同,产生的结果也不同:而重写后的方法被调用时,无论调用的对象是父类或者子类的对象,调用的方法相同,产生的结果也一样