NSString常用方法(读写、比较、搜索、动态截取、替换、删除)

原创 2016年01月08日 21:14:46

设置一个路径

        NSString *path = @"/Users/kev/Desktop/stu.txt";

        NSURL *url = [NSURL fileURLWithPath:path];

        NSError *error = nil;//显示详细的错误信息

读取文本里的内容

        NSString *s1 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];

        NSLog(@"%@",s1);

        将str字符串写入文本

        NSString *str = @"are you sure?";

        [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:&error];

isEqualToString 用于比较内容是否相等,下面简单使用isEqualToString进行登录验证

       

        NSString *user = @"laowang";

        NSString *pad = @"123";//初始一个账号和密码

        char inputUser[50];

        char inputPad[50];//键盘缓冲区

        

        BOOL flag = 0;

        do {

            NSLog(@"\n请输入用户名:");

            scanf("%s",inputUser);

//将输入的字符串封装到NS类型的字符串

            NSString *nUser = [NSString stringWithUTF8String:inputUser];

            

            NSLog(@"\n请输入密码:");

            scanf("%s",inputPad);

            NSString *nPad = [NSString stringWithUTF8String:inputPad];

            

            NSLog(@"用户:%@",nUser);

            NSLog(@"密码:%@",nPad);

            if ([nUser isEqualToString:user]&&[nPad isEqualToString:pad]) {

                NSLog(@"登录成功,正在进入系统...");

                flag = 1;

            }

            else{

                NSLog(@"\n用户名或密码错误,请重新输入:");

                flag = 0;

            }

        } while (flag==0);

       

        

        compare的使用,里面有三种判断

        //NSOrderedAscending  NSOrderedSame  NSOrderedDescending

        NSString *str1 = @"laowang";

        NSString *str2 = @"zhangsan";

        switch ([str1 compare:str2]) {

            case NSOrderedAscending:

                NSLog(@"升序");

                break;

            case NSOrderedSame:

                NSLog(@"相等");

                break;

            case NSOrderedDescending:

                NSLog(@"降序");

                break;

            default:

                break;

        }


hasPrefix:判断是否以@“xxx”开头

hasSuffix:判断是否以@“xxx”结尾

        NSString *str = @"http://www.baidu.com";

         //判断以什么开头

        if ([str hasPrefix:@"http://"]) {

            NSLog(@"是一个URL");

        }

        else{

            NSLog(@"不是一个URL");

        }

         //判断以什么结尾

        if ([str hasSuffix:@".com"]) {

            NSLog(@".com结尾的URL");

        }

        else{

            NSLog(@"不是.com结尾的URL");

        }

        

       

        NSRange搜索

        NSString *str1 = @"hope is good thing";

        NSRange range = [str1 rangeOfString:@"is"];

        if (range.location==NSNotFound) {

            NSLog(@"没有这个单词");

        }

        else{

            NSLog(@"从第%lu个开始,长度为%ld",range.location,range.length);

        }

        

        NSRange截取

        NSString *str2 = @"<head>iPhone6s</head>";

从第六个开始截取,截取的长度为8个字符

        NSRange range1 = {6,8};

        NSString *newStr = [str2 substringWithRange:range1];

        NSLog(@"\n来自%@客户端",newStr);

        这种截取方式不灵活,如果要修改标签,那么截取范围也会修改,所以我们可以使用下面的动态截取

        

        NSRange动态截取

        NSString *s1 = @"<head>iPhone6s</head>";

        NSInteger local1 = [s1 rangeOfString:@">"].location+1;//表示从第六个下标开始

        NSInteger local2 = [s1 rangeOfString:@"<" options:NSBackwardsSearch].location;

options:NSBackwardsSearch表示从后面往前查询,因为NSRange查找到第一个'<'便不会向后查找,这时代码就会报错,

也可以使用local1的方式直接查找‘</’

要截取的长度

        NSInteger length = local2-local1;

        NSRange range = NSMakeRange(local1, length);

        NSString *newS1 = [s1 substringWithRange:range];

        NSLog(@"%@",newS1);

       

        

        字符串替换

        NSString *str = @"  www/*baidu/*com  ";

        NSString *newStr = [str stringByReplacingOccurrencesOfString:@"/" withString:@"."];

        去掉 ‘*’

      NSString *newStr1 = [newStr stringByReplacingOccurrencesOfString:@"*" withString:@""];

        NSLog(@"%@",newStr1);

       

      去掉首尾空格

        NSCharacterSet *set = [NSCharacterSet whitespaceCharacterSet];

        NSString *newStr2 = [newStr1 stringByTrimmingCharactersInSet:set];

      NSLog(@"%@",newStr2);

        

      利用range删除可变字符串的字符

      NSMutableString *strM = [NSMutableString stringWithFormat:@"www.baiduASD.com"];

        NSRange range = [strM rangeOfString:@"ASD"];

如果搜索到“ASD”就将其删除,但是这种方法不能将字符串中的所有“ASD”删除,只会删除遇到的第一个

      [strM deleteCharactersInRange:range];

      NSLog(@"%@",strM);


版权声明:本文为博主原创文章,未经博主允许不得转载。

NSString的常用方法,包括查找、切割、比较

// // main.m // NSString的各种常用方法 // // Created by zzqiltw on 14-5-26. // Copyright (c) 2014年 zzqi...
  • zzqiltw
  • zzqiltw
  • 2014年05月28日 11:39
  • 817

iPhone之NSString常用方法示例程序

  • 2012年08月21日 11:05
  • 585KB
  • 下载

NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、...

1、创建字符串 1)NSSring *str = @”adf”; 2)NSString *str1 = [NSString new]; NSString *str2 = [[NSString al...
  • wujakf
  • wujakf
  • 2017年03月28日 13:20
  • 177

NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、改变)

1、创建字符串 1)NSSring *str = @”adf”; 2)NSString *str1 = [NSString new]; NSString *str2 = [[NSString a...

NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、...

1、創建字符串 1)NSSring *str = @”adf”; 2)NSString *str1 = [NSString new]; NSString *str2 = [[NSSt...

Foundation框架(4)——NSString的常见操作:大小写转换、字符串比较、搜索、截取、构建路径、拓展名等用法

// // main.m // Foundation4-NSString的其他用法 // // Created by Mac on 15-1-18. // Copyright (c)...

NSString的使用(初始化、比较、子串、转换、替换、删除、拼接等)

// 创建字符串 5种方法 NSString *string1 = @"zhangshaofeng"; NSLog(@"string1 %@", string1); NSLog(@"SW - %d",...

ios中NSString、NSArray、NSData、NSDictionary本地读写

-(NSString *)documentPath { //获得沙盒中Document的路径 NSArray *pathes = NSSearchPathForDirectoriesI...

Java常用读写类的速度比较

本文比较了BufferedWriter(BufferedReader)、BufferedOutputStream(BufferedInputStream)、ByteBuffer(write&read)...

numpy学习笔记三:numpy文件读写与常用统计方法

在数据挖掘中,通常数据需要从文件中读取,与之类似的也可以把数据写入文件中,如: i2 = np.eye(3) print(i2) np.savetxt('D:\eye.txt',i2) 就是将i2的内...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSString常用方法(读写、比较、搜索、动态截取、替换、删除)
举报原因:
原因补充:

(最多只允许输入30个字)