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的打赏,我们会更加努力!    如果您想成为作者,请点我


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

查看所有标签

猜你喜欢:

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

Boolean Reasoning

Boolean Reasoning

Brown, Frank Markham / 2003-4 / $ 19.15

A systematic treatment of Boolean reasoning, this concise, newly revised edition combines the works of early logicians with recent investigations, including previously unpublished research results. Th......一起来看看 《Boolean Reasoning》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具