`
zxs19861202
  • 浏览: 916077 次
  • 性别: Icon_minigender_1
  • 来自: 湖北—》上海
社区版块
存档分类
最新评论

Object-c NSString 字符串

    博客分类:
  • ios
阅读更多

//一、NSString   
    /*----------------创建字符串的方法----------------*/
    //1、创建常量字符串。
    NSString *astring = @"This is a String!";
    //2、创建空字符串,给予赋值。

    NSString *astring = [[NSString alloc] init];
    astring = @"This is a String!";
    NSLog(@"astring:%@",astring);
  [astring release];

    //3、在以上方法中,提升速度:initWithString方法

    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    [astring release];

    //4、用标准c创建字符串:initWithCString方法

    char *Cstring = "This is a String!";
    NSString *astring = [[NSString alloc] initWithCString:Cstring];
    NSLog(@"astring:%@",astring);
    [astring release];

    //5、创建格式化字符串:占位符(由一个%加一个字符组成)
    int i = 1;
    int j = 2;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
    NSLog(@"astring:%@",astring);
    [astring release];

    //6、创建临时字符串

    NSString *astring;
    astring = [NSString stringWithCString:"This is a temporary string"];
    NSLog(@"astring:%@",astring);

    /*----------------从文件读取字符串:initWithContentsOfFile方法 ----------------*/   
    NSString *path = @"astring.text";
    NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
    NSLog(@"astring:%@",astring);
    [astring release];

    /*----------------写字符串到文件:writeToFile方法 ----------------*/  

    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    NSString *path = @"astring.text";   
    [astring writeToFile: path atomically: YES];
    [astring release];  

    /*---------------- 比较两个字符串----------------*/       

    //用C比较:strcmp函数

    char string1[] = "string!";
    char string2[] = "string!";
    if(strcmp(string1, string2) = = 0)
    {
        NSLog(@"1");
    }

    //isEqualToString方法   
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 isEqualToString:astring02];
    NSLog(@"result:%d",result);

    //compare方法(comparer返回的三种值)   
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";   
    BOOL result = [astring01 compare:astring02] = = NSOrderedSame;   
    NSLog(@"result:%d",result);   
    //NSOrderedSame 判断两者内容是否相同

    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"this is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;   
    NSLog(@"result:%d",result);
    //NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)

    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;   
    NSLog(@"result:%d",result);     
    //NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

    //不考虑大 小写比较字符串1
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;   
    NSLog(@"result:%d",result);     
    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为 真)

    //不考虑大小写比较字符串2
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02
                            options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;   
    NSLog(@"result:%d",result);    

    //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。

    /*----------------改变字符串的大小写----------------*/  

    NSString *string1 = @"A String";
    NSString *string2 = @"String";
    NSLog(@"string1:%@",[string1 uppercaseString]);//大写
    NSLog(@"string2:%@",[string2 lowercaseString]);//小写
    NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小

    /*----------------在串中搜索子串 ----------------*/       

    NSString *string1 = @"This is a string";
    NSString *string2 = @"string";
    NSRange range = [string1 rangeOfString:string2];
    int location = range.location;
    int leight = range.length;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
    NSLog(@"astring:%@",astring);
    [astring release];

    /*----------------抽取子串 ----------------*/       

    //-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringToIndex:3];
    NSLog(@"string2:%@",string2);

    //-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringFromIndex:3];
    NSLog(@"string2:%@",string2);

    //-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];
    NSLog(@"string2:%@",string2);
//快速枚举
    //for(NSString *filename in direnum)
    //{
    //    if([[filename pathExtension] isEqualToString:@"jpg"]){
    //        [files addObject:filename];
    //    }
    //}
    NSLog(@"files:%@",files);

    //枚举
    NSEnumerator *filenum;
    filenum = [files objectEnumerator];
    while (filename = [filenum nextObject]) {
        NSLog(@"filename:%@",filename);
    }
@"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];   
    NSLog(@"oldArray:%@",oldArray);
    NSEnumerator *enumerator;
    enumerator = [oldArray objectEnumerator];
    id obj;
    while(obj = [enumerator nextObject])
    {
        [newArray addObject: obj];
    }
    [newArray sortUsingSelector:@selector(compare:)];
    NSLog(@"newArray:%@", newArray);
    [newArray release];

    /*--------------------------- 切分数组------------------------------*/

    //从字符串分割到数组- componentsSeparatedByString:
    NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];
    NSLog(@"string:%@",string);   
    NSArray *array = [string componentsSeparatedByString:@","];
    NSLog(@"array:%@",array);
    [string release];

    //从数组合并元素到字符串- componentsJoinedByString:
    NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
    NSString *string = [array componentsJoinedByString:@","];
    NSLog(@"string:%@",string);

分享到:
评论

相关推荐

    Object-c字符串数组字典

    在Objective-C语言中,字符串、数组、字典以及集合是常用的数据结构类型。这些类型分为可变和不可变两种,它们分别对应不同场景下的需求。在Objective-C中,字符串被封装在NSString类中,数组由NSArray和...

    Object-C字符串

    3. **从C字符串创建Objective-C字符串**:有时候需要将C语言中的字符串转换为Objective-C中的`NSString`对象。 ```objc NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSUTF8String...

    Object-C语言教程

    3. **NSString**:不可变字符串类,处理文本。 4. **NSNumber**:封装基本数据类型的类。 5. **NSNotification**:事件通知机制,实现对象间的通信。 四、Objective-C与Cocoa Touch 在iOS开发中,Cocoa Touch是...

    Object-C语言教程0220.zip

    Objective-C的Foundation框架提供了大量基础类,如字符串(NSString)、数组(NSArray)、字典(NSDictionary)等,是进行iOS和Mac开发的基础。 ### 五、UIKit框架 UIKit框架是iOS开发的核心,包括视图(UIView)...

    Object-C语言教程&案例.docx

    - **字符串类型**:`NSString *` 表示一个指向`NSString`对象的指针,用于存储文本数据。 - **多类型格式化输出**:`NSLog`函数支持同时输出不同类型的数据,通过格式化字符串指定每个变量的类型,例如:`NSLog(@...

    Object-C语言教程:Objective-C 简介

    - `NSString`:字符串类型。 - `CGFloat`:浮点数值的基本类型。 - `NSInteger`:整型。 - `BOOL`:布尔类型。 ##### 2.5 打印日志 Objective-C中的`NSLog`函数用于输出调试信息,常用于查看程序运行时的状态或...

    Object-C语言入门教程&代码示例 .pdf

    在Object-C中,你可以定义不同类型的变量,包括但不限于整型(`int`)、浮点型(`float`、`double`)、字符型(`char`)和字符串类型(`NSString`)。例如: ```objectivec int age = 25; double height = 1.75; ...

    Object-C的语法与Cocoa框架

    Object-C是在C语言的基础上增加了面向对象的特性,其设计目标是为了提高程序的可维护性和代码复用性。 #### 二、GNUStep的安装 GNUStep是一个遵循GNU通用公共许可证的开源项目,提供了类似于苹果Cocoa框架的API集合...

    Object-C语言教程&案例&相关项目资源

    - **描述**:此方法返回对象的字符串表示形式,默认情况下,返回类名和对象的十六进制地址。 - **应用场景**: - 通常用于调试和日志记录。 - 当需要以更友好的方式表示对象时,可以重写此方法以提供更多的信息。 ...

    Object-c基础教程例程

    3. 字符串处理:NSString类提供了丰富的字符串操作方法,如拼接、查找、替换等。 三、Cocoa Touch 在iOS开发中,Cocoa Touch是核心框架,提供了用户界面和应用程序结构。 1. 视图控制器(UIViewController):...

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

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

    Object-C复习_object-c_复习_

    - **NSString, NSMutableString**:不可变和可变字符串,处理文本信息。 - **NSDate, NSCalendar**:处理日期和时间,进行日期运算。 ### 6. UIKit框架 - **UIViewController**:视图控制器,负责管理屏幕上的内容...

    Object-C语言教程,常用指令详解附代码,开发资源项目详细介绍附代码带注释.txt

    Objective-C 基础语法 1. 输出语句 - NSLog() 用于打印输出文本到控制台。 #import int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"Hello, World!... // 声明字符串变量 B

    Object-c入门教程中文版【电子书+源码】

    - **NSString**:处理字符串的关键类,提供了丰富的字符串操作方法。 4. **Cocoa Touch** (iOS) - **UIViewController**:应用界面的基本控制器类,负责视图的展示和交互逻辑。 - **UIViews**:构成用户界面的...

    Object-C学习大纲.pdf

    - 不可变字符串:NSString。 - 可变字符串:NSMutableString。 ### 结论 Object-C 是一种强大的面向对象编程语言,广泛应用于 macOS 和 iOS 应用程序开发中。通过理解其基本概念、语法结构、面向对象特性以及...

    Object-C基础教程.pdf

    - `NSString *`: 字符串类型(Objective-C特有)。 示例代码: ```objective-c int i = 42; float f = 3.14; BOOL flag = YES; NSString *str = @"Hello, Objective-C"; ``` ##### 1.3 定义类和对象 在Objective-...

    Object-C的语法与Cocoa框架V1.0.pdf

    - **NSString**: 用于处理字符串。 - **NSArray**: 用于管理有序的元素集合。 - **NSDictionary**: 用于管理键值对。 - **NSData**: 用于处理二进制数据。 - **NSDate**: 用于处理日期和时间。 #### 四、开发环境...

    Objective-C封装字符串存储操作示例

    Objective-C简单封装 字符串的存储操作,省去中间沙盒处理方式 代码如下:/存储publickey和sessionID — writeContent: nil - 仅取出数据, 其他 - 修改原内容并提取+(NSString *)storeFile:(NSString *)fileName...

    Object-C入门

    此外,Objective-C引入了命名空间的概念,常见的以NS开头的类名源于NextStep系统,例如NSLog用于打印日志,NSString表示字符串等。 文章建议读者有一定的C++、C#或Java基础,以便更好地理解Objective-C。Objective-...

    Object-c 语法快速入门

    而`""`是C语言中的字符串字面量,不适用于Objective-C的对象字符串操作。需要注意的是,`@""`不支持直接包含中文字符。 Objective-C 2.0是Objective-C的一个扩展,引入了属性(properties),简化了内存管理,并...

Global site tag (gtag.js) - Google Analytics