NSString基本用法

#pragma mark - 字符串创建
        //常量字符串,存储在常量区(@"dsds"相同,则str,str6是同一个,地址相同)
        NSString *str = @"dsds";
        NSString *str6 = @"dsds";
        
        //使用类方法创建字符串
        NSString * string = [NSString string];
        string = @"小白";//字符串赋值
       
        //创建一个字符串,并且将内容设置为string
        NSString * string1 = [NSString  stringWithString:string];
        
        //格式化创建字符串(按照格式输出)
        NSString * string2 = [NSString stringWithFormat:@"%@",string1];
        NSString * string0 = [NSString stringWithFormat:@"hello %d %c",5,‘A‘];
        
        //实例方法初始化(比下面两种常用)
        NSString *string3 = [[NSString alloc]init];

//实例方法指定字符串
        NSString *string4 = [[NSString alloc]initWithString:string3];
        
        //实例方法创建字符串
        NSString *string5 = [[NSString alloc]initWithFormat:@"%@",string4 ];
        
#pragma mark - 字符串获取
        NSString *string6 = [NSString stringWithFormat:@"helloiphone"];
        
        //获取字符串长度(有效字符长度,不包括‘\0‘)
        NSInteger len = [string6 length];
//字符串截取
        //1.从哪个索引开始截取到字符串末尾(包含索引位置)
        NSString *str0 = [string6 substringFromIndex:4];
        
        //2.从字符串开头截取到哪个索引(不包含索引位置)
        NSString *str1 = [string6 substringToIndex:8];
        
        //3.截取一定范围(从下标3开始截取7个字符)
        NSRange range = {3,7};
        NSString *str2 = [string6 substringWithRange:range];
        
        /*
         typedef struct _NSRange {
         NSUInteger location;     //起始位置
         NSUInteger length;       //表示长度
         } NSRange;
         
         */

//获取某字符串所在区间
        NSString *string9 = @"ll";
        NSRange rang1 = [string6 rangeOfString:string9];
        NSRange rang2 = [string6 rangeOfString:@"pho"];
        NSLog(@"************所在范围%@",NSStringFromRange(rang1));
        
        if (rang2.location == NSNotFound) {
            NSLog(@"没有这个子串");
        }else{
            NSLog(@"--------所在范围%@",NSStringFromRange(rang2));
        }
        if (rang1.length == 0) {
            NSLog(@"没有这个子串");
        }
        
        //字符串比较
        NSString *string7 = @"ahanweilong";
        NSString *string8 = @"shanweilong";
        //比较地址
        if (string7 == string8) {
            
        }
        
        //比较内容
        if ([string7 isEqualToString:string8]) {
            NSLog(@"一样的~~");
        }else{
            NSLog(@"不一样~~");
        }
        
        
        if ([string7 compare:string8] == NSOrderedSame) {
            NSLog(@"相等");
        }
        else if ([string7 compare:string8] == NSOrderedAscending)
        {
            NSLog(@"升序");
        }
        else if ([string7 compare:string8] == NSOrderedDescending)
        {
            NSLog(@"降序");
        }
        
        
    //NSCaseInsensitiveSearch 忽略大小写(@“123”,@“0123”字符串比较)
    //NSNumericSearch 用于数值类型的比较(@“123”,@“0123”转化成数值比较)
       NSComparisonResult result = [string7 compare:string8 options:NSCaseInsensitiveSearch];
        if (result == NSOrderedSame) {
            NSLog(@"相等");
        }else if (result == NSOrderedAscending){
            NSLog(@"升序");
        }else if (result == NSOrderedDescending){
            NSLog(@"降序");
        }
    }
    
    
    
    
    
    NSString *string7 = @"ahanweilong";
    NSString *string8 = @"shanweilong";
    
    //检测字符是否以指定内容开头
    if ([string7 hasPrefix:@"shan"]) {
        NSLog(@"是的");
    }
    
    //检测字符串是否已指定内容结尾
    if ([string7 hasSuffix:@"long"]) {
        NSLog(@"是的");
    }
    
    
    
    //字符串拼接
    NSString *string10 = [string7 stringByAppendingString:string8];

NSString *string11 = [NSString stringWithFormat:@"%@%@",string7,string8];
    
    NSString *string12 = [string7 stringByAppendingFormat:@"-%@",string11];

//将数字字符串转换为数字(最常用)
    NSString *string13 = @"123";
    NSInteger integer = [string13 integerValue];
    
    //字符串大写
    NSString *string14 = @"fdjfep";
    NSString *str14 = [string14 uppercaseString];
    
    //字符串小写
    NSString *string15 = @"GKHgIP";
    NSLog(@"%@",[string15 lowercaseString]);
    
    //首字母大写
    NSLog(@"%@",[string14 capitalizedString]);
    
    //替换
    NSString *string16 = @"文艺青年";
    string16 = [string16 stringByReplacingOccurrencesOfString:@"文艺" withString:@"2B"];
    
    //删除原字符串中的所有指定字符
   NSString * string18 = [string16 stringByReplacingOccurrencesOfString:@"文" withString:@""];
    
    
    //从下标0开始2个
   NSString *string17 = [string16 stringByReplacingCharactersInRange:NSMakeRange(0, 2) withString:@"二傻子"];
    
    NSRange rang = [string16 rangeOfString:@"文艺"];
    string17 = [string16 stringByReplacingCharactersInRange:rang withString:@"哈哈哈"];
    
    
    //去掉两端空格
    string18 = [string7 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    
    
    //C语言字符串转化成OC字符串
    NSString *str20 = [NSString stringWithCString:"hehe" encoding:NSUTF8StringEncoding];
    //OC语言字符串转化成C字符串
    const char *cStr = [string8 cStringUsingEncoding:NSUTF8StringEncoding];
    
    
    
    
#pragma mark - 可变字符串
    //一个字符串需要经常改变,就用NSMutableString
    //Capacity表示容量,可以容纳多少字符,如果字符超过存储空间就扩展(尽量开辟时就够用,也不要太大)
    NSMutableString *mutableString = [NSMutableString stringWithCapacity:6];
    
    //类方法创建可变字符串
    NSMutableString *mutableString1 = [NSMutableString string];
    
    
    //在指定位置插入一个字符串对象(在第一个字符串后插入)
    NSString *string1 = @"长得白";
    NSMutableString * mutableString2 = [NSMutableString stringWithFormat:@"闪龙"];
    [mutableString2 insertString:string17 atIndex:1];
    NSLog(@"%@",mutableString2);
    
    //删除字符串中某范围内容(从第0个删除3个)
    [mutableString2 deleteCharactersInRange:NSMakeRange(0, 3)];
    NSRange rang3 = {2,3};
    [mutableString2 deleteCharactersInRange:rang3];
    NSLog(@"%@",mutableString2);
    
    //拼接可变字符串
    NSString *string2 = @"拼了";
    [mutableString2 appendString:string2];
    [mutableString2 appendFormat:@"老夫和你%@",string2];
    NSLog(@"%@",mutableString2);
    
    //替换
    [mutableString1 deleteCharactersInRange:rang3];
    
    NSRange rrr = [mutableString1 rangeOfString:@"df"];
    [mutableString2 replaceCharactersInRange:rrr withString:@"www"];
    
    [mutableString2 replaceOccurrencesOfString:@"iiiiihj" withString:@"小白" options:NSLiteralSearch range:rrr];
    
    //可变字符串赋值
    NSMutableString *mutableString3 = [NSMutableString stringWithCapacity:0];
    //NSMutableString *mutableString3 = [NSMutableString string];
    [mutableString3 setString:@"树上蹲个??"];
//    不能用字面量方式赋值,字面量定义的是不可变的
//    NSMutableString *mutableString4 = @"fdsf";
    NSLog(@"%@",mutableString3);

时间: 2024-08-19 00:02:02

NSString基本用法的相关文章

蓝懿iOS培训日志2 复习NSString基本用法及练习心得 刘国斌老师

今天是自习,前几天微信打飞机的游戏在老师的带领下做了一遍,今天又回顾了一遍,然后自己尝试性的做了一个简化的AngryBird,在做的过程中发现了一些小问题,有时候容易马虎,少了一行代码,一个return 或者一个初始化 却要花好久才能检查出来,实在是不应该,以后马虎一次,就把错的地方打上备注并且在心里默默的背十遍,以后还错还这样,我觉得应该很有效的避免重蹈覆辙吧.最近还是觉得能力有限,很多想法都不能实现或者实现起来很麻烦,这也将成为我学习的动力,希望以后看到现在的日志可以会心一笑,心里默默地告诉

黑马程序员--Obbjective-C-Foundation框架中的NSString与NSMutableString的用法-我之整理

-----<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Foundation框架 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易. Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期和时

OC类中一些细节问题(对象类存储、类中结构体的用法)

一:OC中得方法名 注意:方法名冒号和后面的and方法名冒号  都是方法名 一:对象的存储细节 类加载到代码区(包括类中得属性和方法).对象动态加载到堆内存中.指向对象的指针存放在栈区. 三:定义类常见的错误 定义类的时候,常见的错误 1)类的定义不能嵌套 2)不要漏写 @end 3) 不要忘记写实现类(如果忘记写了,编译不会报错,运行时候才报错) 4)定义成员变量的大括号经常漏写 5) 如果不写@interface 只有 @implementation 这可以,但是会报警告,建议不要这么写 6

OC常用数据类型大全解

UI基础 OC常用数据类型 Block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的,并且默认情况下它对局部变量是只读的 苹果官方建议尽量多用block.在多线程.异步任务.集合遍历.集合排序.动画转场用的很多 Blocks的定义 Blocks的定义: int (^MySum)(int, int) = ^(int a, int b) { re

JS&amp;iOS原生交互

关于原生和hybid之争,这里不做探讨.主要讲讲JS和OC交互 开讲前附上一个牛逼的第三方 JavascriptBridge OC执行JS代码 1.stringByEvaluatingJavaScriptFromString 这个方法是UIWebView里面的方法,也是最为简单的和JS交互的方式 - (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script; 用法比较简单,一般在代理方法- (vo

oc总结 --oc基础语法相关知识

m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { theme manager @autoreleasepool { NSLog(@"Hello, World!"); } return 0; } 预处理指令import会自动检验头文件有没有被包含过,防止重复包含,NSLOG是日志输出,OC字符串以@开头,自动换行

ios字符串的判断

<pre name="code" class="objc"> 1.范围的作用,看看一下结构体: [plain] view plaincopy typedef struct _NSRange { unsigned int location; unsigned int length; }NSRange;//其中location表示字段存放该范围的起始位置,length表示是该范围内所含元素的个数. 例如:字符串"Objective-C is a c

IOS中NSString的常见用法

iOS NSString的常用用法 //1.创建常量字符串. NSString *astring = @"This is a String!"; //2.创建空字符串,给予赋值. NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; //3.在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString allo

NSString类的相关用法

一.NSString字符串连接NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串 1. string = [NSString initWithFormat:@"%@,%@", string1, string2 ];2. string = [string1 stringByAppendingString:string2];</p>3 . string = [string stringByAppend