NSString NSMutableString

// NSString
        //代开API文档
        //Xcode -> help - Documentation and API Reference
    
        //快速打开API
        //alt(option) + 鼠标左键
    
        //快速进入头文件
        //command + 鼠标左键
    
//        NSString是oc中的不可变字符串类,被创建后,不能修改
    
        //常用方法
        //1.创建字符串
    NSString *str1 = @"iPhone";
    NSLog(@"%@", str1);
    NSString *str2 = [[NSString alloc] init];
    NSLog(@"%@", str2);
    NSString *str3 = [[NSString alloc] initWithString:@"iPhone"];
    NSLog(@"%@", str3);
//    NSString *str4 = [[NSString alloc] initWithString:nil];
//    NSLog(@"%@", str4);  error
    NSString *str5 = [[NSString alloc] initWithFormat:@"%@5s", str1];
    NSLog(@"%@", str5);
    
//    NSString *str6 = [NSString stringWithString:@"iPhone"];
//    NSLog(@"%@", str6);
    NSString *str7 = [NSString stringWithFormat:@"123"];
    NSLog(@"%@", str7);
        //2.获取字符串长度
    NSUInteger length = [str7 length];
    NSLog(@"%lu", length);
    
        //3.判断字符串是否以指定字符串开始或结束
    NSString *str8 = @"123ABC";
    
   BOOL result = [str8 hasPrefix:@"223"];
    NSLog(@"%d", result);
    BOOL result1 = [str8 hasSuffix:@"C"];
    NSLog(@"%d", result1);
    
        //4.搜索字符串的范围
    
    NSRange range = [str8 rangeOfString:@"3A"];
    
    NSLog(@"%lu, %lu", range.length, range.location);
    
        //5.字符串截取
    NSRange rs = {3, 3};
    NSString *str9 = [str8 substringWithRange:rs];
    NSLog(@"%@", str9);
        //6.拼接字符串
   NSString *str10 = [str8 stringByAppendingString:@"123"];
    NSLog(@"%@", str8);
    NSLog(@"%@", str10);

//7.替换字符串
   NSString *str11 = [str8 stringByReplacingOccurrencesOfString:@"3A" withString:@"A"];
    NSLog(@"%@", str11);
    
        //8.字符串比较"123" "123" "321"
    
    NSInteger flag = [@"123" compare:@"123"];
    NSLog(@"%ld", flag);
    
        //9.字符串和数值类型的转换
    NSString *str12 = @"123";
    int a = [str12 intValue];
    NSLog(@"%d", a);
    double b = [str12 doubleValue];
    NSLog(@"%f", b);
    float c = [str12 floatValue];
    NSLog(@"%f", c);
    BOOL e = [str12 boolValue];
    NSLog(@"%d", e);

//10.大小写转换操作
    NSString *aaa = @"aBcE";
    NSLog(@"%@", [aaa capitalizedString]);
    NSLog(@"%@", [aaa uppercaseString]);
    NSLog(@"%@", [aaa lowercaseString]);
    NSLog(@"%@", aaa);
    
    
        //NSMutableString
        //capctiy 是一个预估的值,可以改变
        //由于内存比较紧张,一般把capctiy设置成0,让字符串自己去判断大小,扩充容器大小
        //创建一个新的字符串
    NSMutableString *mString = [[NSMutableString alloc] initWithCapacity:0];
        //拼接字符串
    [mString appendString:@"taiyang"];
    NSLog(@"%@", mString);
    
         //插入字符
    [mString insertString:@"aaa" atIndex:1];
    NSLog(@"%@", mString);
    
        //删除字符串
//    NSRange r = {2, 3};
//    [mString deleteCharactersInRange:r];
//             ||  等价
    [mString deleteCharactersInRange

练习 :

//    1.截取字符串“20|http://www.baidu.com”中 “|” 前面和后面的字符串,并输出。

//    NSString *str1 = @"20|http://www.baidu.com";
//         1
//    NSString *str2 = [str1 substringWithRange:NSMakeRange(0, 2)];
//    NSString *str3 = [str1 substringWithRange:NSMakeRange(3, 20)];
//    NSLog(@"str2 = %@ str3 = %@", str2, str3);

//2
//    NSString *str2 = [str1 substringFromIndex:3];
//    NSLog(@"str2 = ‘%@‘", str2);
//    NSString *str3 = [str1 substringToIndex:2];
//    NSLog(@"str3 = ‘%@‘", str3);

//    2.将“文艺青年”改成“213青年”。
    
//    NSString *str1 = @"文艺青年";
//    NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"文艺" withString:@"213"];
//    NSLog(@"%@", str2);

//    3.给定一个图片文件名,判断字符串中是否有后缀,如果有(如:以“.png”结尾),就替换成“jpg”;如果没有,就拼接”.jpg”

//    NSString *str1 = @"taiyang";
//    NSUInteger length = [str1 length];
//    NSString *str2 = [str1 substringFromIndex:length - 4];
//    if ([@".jpg" compare:str2] == 0) {
//        NSLog(@"该字符串是以.jpg开头");
//    }else if ([@".png" compare:str2] == 0){
//        NSString *str3 = [str1 stringByReplacingOccurrencesOfString:@".png" withString:@".jpg"];
//        NSLog(@"str3 = ‘%@‘", str3);
//    }else{
//        NSString *str4 = [str1 stringByAppendingString:@".jpg"];
//        NSLog(@"str4 = ‘%@‘", str4);
//    }

时间: 2024-10-06 18:52:06

NSString NSMutableString的相关文章

NSString/NSMutableString常用函数

NSString / NSMutableString 字符串处理,常用代码 (实例) Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值.而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度. NSString 常用方法总结 +(id)stringWithContentsOfFile:path enco

NSString&NSMutableString常用操作梳理

http://www.cocoachina.com/ios/20150724/12722.html 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Objective-C中每天都要用到的字符串处理类——NSString. Objective-C中的NSString/NSMutableString类似MFC中的CString,封装了字符串的日常基本操作. 1.创建初始化(Initialization&Creation) 1.1 常量字符串(literal st

黑马程序员——OC常用类NSString/NSMutableString《Foundation框架中类》

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- NSString/NSMutableString:OC字符串处理核心类         NSString/NSMutableString是Foundation框架中的类,是Objective-C 中字符串处理的核心类.这两个类最大的区别:NSString 创建赋值以后,该类字符串除了重新被赋值,其的内容与长度不能动态的更改.NSMutableString 创建赋值以后可以动态更改其内容与长度.

关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary

NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎么学习它们呢? 我认为学习这些常用的类,使用类比的方法就行了,只要学会一个类,就能类比另外两个类了.. 比如,NSString和NSMutableString的可变与不可变,主要区分的标准是,它们本身是不是可以变,可变的一般都能增,删,改,而不可变的方法主要是创建,查看,得到元素个数或者长度等等;

NSString,NSMutableString, NSArray ,NSMutableArray,NSDictionary,NSMutableDictionary 深拷贝,浅拷贝分析

NSString,NSMutableString, NSArray ,NSMutableArray,NSDictionary,NSMutableDictionary 深拷贝,浅拷贝. 首先我们得知道什么是深拷贝,什么事浅拷贝. 简单点说深拷贝就是拷贝内容,浅拷贝就是拷贝指针. 上面那些类我们可以这样理解他们的深.浅拷贝.只要上面那些类中的NSString,NSArray,NSDictionary这三个类的实例化对象是调用copy方法进行拷贝那么他们拷贝的就是一个指针,就是说他们只是拷贝了一个指向

NSString&NSMutableString常用操作梳理(转)

作者:弦苦 授权本站转载. 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Objective-C中每天都要用到的字符串处理类——NSString. Objective-C中的NSString/NSMutableString类似MFC中的CString,封装了字符串的日常基本操作. 1.创建初始化(Initialization&Creation) 1.1 常量字符串(literal string) 1 NSString*constString = @&quo

NSString NSMutableString copy mutableCopy retain weak strong

NSString 与 NSMutableString NSString是不可变字符串对象,这句话的意思,结合代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str = @"Shaw"; NSString *str1 = @"Root"; // NSString *str1的意思是str1

OC语言--字符串(NSString&amp; NSMutableString)

首先声明一下: OC 中的函数,是全局的,如 NSLog():,它不属于任何类,不属于任何一个对象. OC 中的方法,非全局的,init 方法,用中括号来使用,它属于类本身,或者属于对象本身:分为类方法,和实例方法(对象方法):方法被封装对象,或类模板当中 1. 不可变字符串NSString 1.1 OC字符串和C字符串的不同 OC字符串是对象,占用堆空间:C 字符串是数据,它占用栈空间 1.2 OC字符串的常见操作 (1) 常用创建方法 //实例方法创建字符串 - (instancetype)

NSString / NSMutableString 字符串处理,常用代码 (实例)

Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值.而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度. NSString 常用方法总结 +(id)stringWithContentsOfFile:path encoding:enc err 创建一个新字符串并将其设置为 path 指定文件的内容,使用

[转] NSString / NSMutableString 字符串处理,常用代码

原文 :  http://justcoding.iteye.com/blog/1405951 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值.而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度. 1.创建NSString字符串 NSString 与 char* 最大的区别就是 NSString是一