objective-c 中数据类型之二 字符串(NSString)

        // 1. 声明一个NSString对象,注意对象前要加‘*’。
        NSString *string1;

        // 赋值方式1,初始化赋值;
        NSString *string2 = [[NSString alloc] initWithString: @"hello world!"];

        // 赋值方式2;
        string1 = @"hello world!";
        string2 = [NSString stringWithString: @"hello world!"];

        // 赋值方式3,带格式赋值,方便有用;
        string1 = [NSString stringWithFormat: @"Hi, I‘m %@,hello to my world!", @"NSString"];
        NSLog(@"%@", string1);

        // 2. 控制台输入一个字符串给string。
        char *str = NULL;   // 声明char * 字符串。
        str = alloca(20);   // 给str分配内存;
        scanf("%s", str);   // 控制台输入字符串给str;
        // 将str赋给NSString对象string;
        string1 = [NSString stringWithUTF8String: str];
        // 输出string。
        NSLog(@"string: %@", string1);

        // 3. 字符串长度length的使用;
        if ([string1 length] > 5) {
            NSLog(@"字符串长度大于5.");
        } else {
            NSLog(@"字符串长度不大于5.");
        }

        // 4.字符串比較是否相等,isEqualToString返回一个布尔型数据YES\NO;
        string1 = @"hello world";
        string2 = @"hello world";
        if ([string1 isEqualToString:string2]) {
            NSLog(@"%@ 等于 %@", string1, string2);
        } else {
            NSLog(@"%@ 不等于 %@", string1, string2);
        }

        string1 = @"hello world";
        string2 = @"hello worla";
        if ([string1 isEqualToString:string2]) {
            NSLog(@"%@ 等于 %@", string1, string2);
        } else {
            NSLog(@"%@ 不等于 %@", string1, string2);
        }

        // 注:这里 isEqualToString: 不同于 ==。前者比較是否等价。后者比較指针数值,是否是同一对象;

        // 5. 字符串比較大小。
        // 5.1 区分大写和小写的比較compare:返回NSComparisonResult(enum)型数据,
        //     小于返回NSOrderedAscending(值为-1),等于返回NSOrderedSame(值为0)。大于返回NSOrderedDescending(值为1);

        string1 = @"hello worlD"; // hello worlD 小于 hello world;
        string2 = @"hello world";

        string2 = @"hello world"; // hello world 等于 hello world;
        string2 = @"hello world";

        string2 = @"hello world"; // hello worle 大于 hello world;
        string2 = @"hello world";
        if ([string1 compare:string2] == NSOrderedSame) {
            NSLog(@"%@ 等于 %@", string1, string2);
        } else if ([string1 compare:string2] == NSOrderedAscending){
            NSLog(@"%@ 小于 %@", string1, string2);
        } else if ([string1 compare:string2] == NSOrderedDescending){
            NSLog(@"%@ 大于 %@", string1, string2);
        }

        // 5.2 高级比較compare:options:返回NSComparisonResult(enum)型数据。小于返回-1。等于返回0。大于返回1;
        // options: NSCaseInsensitiveSearch不区分大写和小写;NSLiteralSearch区分大写和小写。NSNumericSearch比較字符串的字符个数;
        string1 = @"hello worlDa";
        string2 = @"hello world";
        // 不区分大写和小写,比較字符串的字符个数;
        if ([string1 compare:string2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame) {
            NSLog(@"%@ 等于 %@", string1, string2);
        } else if ([string1 compare:string2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedAscending){
            NSLog(@"%@ 小于 %@", string1, string2);
        } else if ([string1 compare:string2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedDescending){
            NSLog(@"%@ 大于 %@", string1, string2);
        }

        // 6. 字符串的连接;
        NSString* string; // 结果字符串,将string1和string2连接起来
        //方法1.
        string1 = @"hello ";
        string2 = @"world";
        string = [[NSString alloc]initWithFormat:@"%@%@", string1, string2]; // 字符之间不加逗号;
        NSLog(@"string1: %@", string1); // 输出string1;
        NSLog(@"string2: %@", string2); // 输出string2;
        NSLog(@"string: %@", string);   // 输出string;

        //方法2.
        // 将string1与string2合并后赋给string;
        string1 = @"game ";
        string2 = @"start";
        NSLog(@"将string1与string2合并后赋给string前:");
        NSLog(@"string1: %@", string1); // 输出string1。
        NSLog(@"string2: %@", string2); // 输出string2;
        NSLog(@"string: %@", string); // 输出string。
        string = [string1 stringByAppendingString:string2];
        NSLog(@"将string1与string2合并后赋给string后:");
        NSLog(@"string1: %@", string1); // 输出string1。
        NSLog(@"string2: %@", string2); // 输出string2。
        NSLog(@"string: %@", string); // 输出string;

        //方法3.
        // 将string1, string2加到string的后面;
        string = @"this ";
        string1 = @"game ";
        string2 = @"over";
        NSLog(@"将string1, string2加到string的后面前:");
        NSLog(@"string: %@", string); // 输出string;
        NSLog(@"string1: %@", string1); // 输出string1;
        NSLog(@"string2: %@", string2); // 输出string2;

        string = [string stringByAppendingFormat:@"%@%@", string1, string2]; // 字符之间不加逗号;
        NSLog(@"将string1, string2加到string的后面后:");
        NSLog(@"string: %@", string); // 输出string;

        // 7. 字符串的查找。是否以一个字符串开头hasPrefix:。是否以一个字符串结尾hasSuffix:,是否包括字符串rangeOfString:。
        NSRange range;
        string = @"jingchagushi_chapter.rmvb";
        string1 = @"jing";
        string2 = @"rmvb";
        if ([string hasPrefix:string1]) {
            NSLog(@"%@ 的开头是%@",string, string1);
        }
        if ([string hasSuffix:string2]) {
            NSLog(@"%@ 的结尾是%@",string, string2);
        }
        range = [string rangeOfString:@"ch"];
        NSLog(@"位置%lu,长度%lu", range.location, range.length);
时间: 2024-12-08 05:18:34

objective-c 中数据类型之二 字符串(NSString)的相关文章

objective C中的字符串(三)

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7343561 objective C中的字符串操作 在OC中创建字符串时,一般不使用C的方法,因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,在Cocoa中NSString集成的一些方法,可以很方便的操作字符串,下面举几个例子: 1.创建: 直接利用等号赋值 NSString *

objective C中的字符串

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7343561 objective C中的字符串操作 在OC中创建字符串时,一般不使用C的方法,因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,在Cocoa中NSString集成的一些方法,可以很方便的操作字符串,下面举几个例子: 1.创建: 直接利用等号赋值 NSString *

iOS 字符串nsstring

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte

iOS - 字符串(NSString)

/*________________________NSString(不可变字符串)________________________*/ //________________________1.字符串的创建___________________________________// //创建字符串常量 NSString *string1 = @"Hello";  //内容不变 string1 = @"Hello world"; //创建字符串 NSString *st

Java数据类型(二)、Java运算符、流程控制

一.程序写作(创建对象的初始化过程) 1.目的/结果:输出一段话"..." 2.步骤: (1)创建一个基础类,main: (2)创建一块内存空间,用来存储这段话 ①先定义属性,name,sex,age等: ②再定义方法,需要重新创建新的class类,但不需要新的ma方法: (3)调用系统方法/库方法println,实现输出结果 ①在原有的类中创建新对象,将新的class类中的方法调用过来: ②运行,输出所有的内容. //---------------------------------

OC之字符串 NSString与NSMutableString

一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *[email protected]"hello"; 字符串对象的输出格式:NSLog(@"str1=%@",str1). 2)initWithString可将OC中的字符串对象构建字符串引用  NSString *str2=[[NSString alloc]initWithString:str1]; . 3)initWithUTF8String可将C语言的字符串创建

Objective-C: 字符串NSString与NSMutableString

字符串算是OC中非常重要和常用的一部分内容,OC中的字符串与我之前在学习C,C++,Java中的字符串有一定的不同,它非常类似于C++中容器的概念,但用法却与之还是有很大的不同,也许是因为OC的语法就与其他我们常用的编程语言不尽相同.  这里总结一下字符串NSString与NSMutableString. 一. NSString NSString代表字符序列不可变的字符串,NSString的功能非常强大,OC的字符串处理比C语言的饿字符串简单.易用得多. 这里我们通过一个具体的例子来进行分析.

ios常用的字符串NSString自动释放理解

最近在做程序的时候,突然发现对于NSString的理解还是存在问题的.因此补充一片blog,希望对刚刚进入OC开发并搞不清楚内存泄露问题的人一点指引. 赋值: NSString * str = @"123";   // 这段代码的含义其实就是附一个常量给str,该部分由系统自动管理,不需要release释放,是会autorelease的. NSString * str = [[NString alloc] initWithString :@"111"]; // 这种

php中向前台js中传送一个二维数组

在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的ajax一部传送的返货函数中接收,最重要的是接受的时候设置一下接收参数的类型: $.post(              "http:"+$('#url').val()+"/search",              {drug_name:drug_name},