iOS基础-NSString字符串的常见使用[原创]

栏目: IOS · 发布时间: 5年前

内容简介:在日常的开发中,我们在的Foundationl框架中用到的最多的就是NSString了,不管是界面搭建,还是网络上的数据传递。NSString都是充当着绝对的主角和基石。所以对NSString的熟练程度自然是不言而喻了。所以对于刚刚步入ios开发的我来说总结一篇关于NSString的文章自然就显得很重要。1.字符串最常见的创建方式

引言:

在日常的开发中,我们在的Foundationl框架中用到的最多的就是NSString了,不管是界面搭建,还是网络上的数据传递。NSString都是充当着绝对的主角和基石。所以对NSString的熟练程度自然是不言而喻了。

所以对于刚刚步入ios开发的我来说总结一篇关于NSString的文章自然就显得很重要。

(一)NSString的一些用法介绍

一、最常用一些方式

1.字符串最常见的创建方式

//NSString的使用
char *s = "hello Objective-C" ;
NSString * str = @"hello " ;

2.字符其他的串的创建方式

//方式一:系统会自动对象并且会自动释放内存
NSString * str2 = @"hello" ;
//方式二:手动创建,手动释放内存
NSString * str3 = [[NSString alloc]init] ;
str3 = @"yayuanzi" ;

3.格式化字符串

//格式化字符串
int a = 5 ;
int b = 6 ;
NSString *number = [NSString stringWithFormat:@"a= %d , b = %d",a,b] ;

二、较为常用的方式

1.拼接字符串

//将str3拼接到str2上
NSString *str4 = [str2 stringByAppendingString:str3] ;
NSLog(@"str4 = %@",str4) ;

2.大小写的转换

NSString * str5 = @"yaYUANzi";
        //转换小写 lowercaseString
        NSString *str6 = [str5 lowercaseString];
        //转换大写 uppercaseString
        NSString *str7 = [str5 uppercaseString] ;
        NSLog(@"str6 = %@ , str7 = %@ ",str6,str7) ;

3.前缀和后缀的判断

NSString *str8 = @"www.yayuanzi.com" ;
        //判断前缀 hasPrefix
BOOL hasPreFix = [str8 hasPrefix:@"www."] ;
        if (hasPreFix) {
            NSLog(@"有对应的www前缀") ;
        }else{
            NSLog(@"没有对应的www前缀") ;
        }
        //判断后缀 hasSuffix
        BOOL hasSuffix = [str8 hasSuffix:@".com"] ;
        if (hasSuffix) {
            NSLog(@"有对应的com前缀") ;
        }else{
            NSLog(@"没有对应的com前缀") ;
             }

4.判断两个字符串是否相同

NSString *str9 = @"www.yayuanzi.com" ;
        NSString *str10 = @"www.yayuanzi.com" ;
        if ([str9 isEqualToString: str10]) {
            NSLog(@"两个字符串相同") ;
        }else{
            NSLog(@"两个字符串不相同") ;
        }

        //比较字符串
       NSComparisonResult方法:这个方法比较特殊,后面单独的回去说.

5.字符串的分割

NSRange的定义可以理解为从location开始的length个元素

typedef struct _NSRange {

NSUInteger location; //表示对象开始的下标

NSUInteger length; //表示对象长度

} NSRange;

//按照指定的字符分割字符串
        NSString *str11 = @"welcome,to,ya,yuan,zi" ;
        NSArray * strArray = [str11 componentsSeparatedByString:@","] ;
        for (NSString *str in strArray) {
            NSLog(@"%@",str) ;
        }
        NSLog(@"----------按照范围截取字符串") ;
        //按照范围截取字符串
        //1.按照指定范围
        NSRange range = NSMakeRange(1, 10) ;
        NSString *str12 = [str11 substringWithRange:range] ;
        NSLog(@"str12 = %@",str12) ;
        //2.从某一位开始截取到最后一位
        NSString *str13 = [str11 substringFromIndex:3] ;
        NSLog(@"str13 = %@",str13) ;
        //3.从开头开始截取到某一位
        NSString *str14 = [str11 substringToIndex:4] ;
        NSLog(@"str14 = %@",str14) ;
        //4.将字符串拆分成每一个字符
        for (int i = 0; i < [str11 length]; i++) {
            NSLog(@"%c",[str11 characterAtIndex:i]) ;
        }

6.字符串的查找

NSString *str15 = @"yayuanziya" ;
        //查找指定字符串的位置
NSRange range1 = [str15 rangeOfString:@"ya"] ;
NSLog(@"range1.location:%ld range1.length:%ld",range1.location,range1.length) ;

7.字符串的替换

//替换
        NSString *str16 = @"hello yayuanzi" ;
        //替换某一个范围的内容
        NSString *str17 = [str16 stringByReplacingCharactersInRange:NSMakeRange(0, 5) withString:@"你好"] ;
        NSLog(@"str17 = %@",str17) ;
        //用指定的字符串替换原有字符串的子串
        NSString *str18 = [str16 stringByReplacingOccurrencesOfString:@"hello" withString:@"你好"] ;
        NSLog(@"str18=%@",str18) ;

8.通过字符串读取文件

文件的来源:1.本地文件 2.网络文件

NSString *str19 = @"http://www.yayuanzi.com" ;
//路径类 NSURL
//网络路径
NSURL * httpURL = [NSURL URLWithString:str19] ;
//本地路径
NSURL *fileURl = [NSURL fileURLWithPath:str19] ;
        
//读取网络文件
NSString *httpStr = [NSString stringWithContentsOfURL:httpURL encoding:NSUTF8StringEncoding error:nil] ;
NSLog(@"httpStr = %@ ",httpStr) ;
//读取本地的文件
NSString *fileStr = [NSString stringWithContentsOfFile:@"/Users/123/Desktop/test.txt" encoding:NSUTF8StringEncoding error:nil] ;
NSLog(@"fileStr = %@",fileStr) ;
        
//写入本地文件
NSString *str20 = @"hello yayuanzi" ;
BOOL isOK = [str20 writeToFile:@"/Users/123/Desktop/test.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil] ;
if (isOK) {
    NSLog(@"文件写入成功") ;
}else{
    NSLog(@"文件写入失败") ;
     }

9.C和OC之间的转换

//将c转化为oc
        NSString *str1 = [NSString stringWithUTF8String:s] ;
        NSLog(@"str1 = %@",str1) ;
        //将oc转化为c
        NSLog(@"c = %s",[str UTF8String]) ;

10.把字符串转换为二进制数据

NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding] ;

11.将二进制数据转换为字符串

NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding] ;

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25075.html

iOS基础-NSString字符串的常见使用[原创]

iOS基础-NSString字符串的常见使用[原创] 微信打赏

iOS基础-NSString字符串的常见使用[原创] 支付宝打赏

感谢您对作者Annwn的打赏,我们会更加努力!    如果您想成为作者,请点我


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C# Primer Plus

C# Primer Plus

Klaus Michelsen / Sams / 2001-12-15 / USD 49.99

C# Primer Plus is a tutorial based introduction to the C# language and important parts of the .Net Framework. Throughout the book the reader will be exposed to proven principles enabling him to write ......一起来看看 《C# Primer Plus》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试