NSString的操作,下面记录下他的常用方法:

NSString *str = @"1111111111aaaaaaaaa2222222222";

1、查找

//查找
NSRange range = [str rangeOfString:@"aaa"];
if (range.location == NSNotFound) {
NSLog(@"str中没有找到aaa");
}else{
NSLog(@"str中包含");
}
//另一种方法
if (range.length == ) {
NSLog(@"str中没有找到aaa");
}else{
NSLog(@"str中包含");
}

比较的方法:

[value compare:(NSString *)];

[value compare:(NSString *) options:(NSStringCompareOptions)];

[value compare:(NSString *) options:(NSStringCompareOptions) range:(NSRange)];

这里说下options属性,这个是个枚举,如下:

enum{

    NSCaseInsensitiveSearch = ,//不区分大小写比较

    NSLiteralSearch = ,//区分大小写比较

    NSBackwardsSearch = ,//从字符串末尾开始搜索

    NSAnchoredSearch = ,//搜索限制范围的字符串

    NSNumbericSearch = //按照字符串里的数字为依据,算出顺序。例如 Foo2.txt < Foo7.txt < Foo25.txt

//以下定义高于 mac os 10.5 或者高于 iphone 2.0 可用

    NSDiacriticInsensitiveSearch = ,//忽略 "-" 符号的比较

    NSWidthInsensitiveSearch = ,//忽略字符串的长度,比较出结果

    NSForcedOrderingSearch = //忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending

//以下定义高于 iphone 3.2 可用
NSRegularExpressionSearch = //只能应用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。使用通用兼容的比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch }

返回值:

返回值:

typedef enum _NSComparisonResult {
NSOrderedAscending = -, // < 升序
NSOrderedSame, // = 等于
NSOrderedDescending // > 降序
} NSComparisonResult;

使用如下:

 BOOL result;
result = [str compare:@""];
[str compare:@"" options:NSCaseInsensitiveSearch];
[str compare:@"" options:NSLiteralSearch range:range];

2、截取操作

//截取字符串
//截取,loc标示第几个字符开始,len标示截取两个字符
NSString *bStr = [str substringWithRange:NSMakeRange(, )];
NSLog(@"%@",bStr);
//从第n+1为开始截取,至字符串最后
NSString *bStr1 = [str substringFromIndex:];
NSLog(@"%@",bStr1);
//从首字母开始截取第n个字符
NSString *bStr2 = [str substringToIndex:];
NSLog(@"%@",bStr2);

3、拆分

    //拆分
//从字符串8中分割成2个元素的数组 这个方法可以实现字符串和数组直接互转
NSArray *array = [str componentsSeparatedByString:@""];
NSLog(@"array:%@",array);
NSLog(@"ary1 is %@",[array firstObject]);
NSLog(@"ary2 is %@",[array lastObject]);

4、替换

NSString *str1 = @"";
NSString *replacedStr = [str1 stringByReplacingOccurrencesOfString:@"" withString:@"想要替换成字符串"];
NSLog(@"erplacedStr === %@",replacedStr);

5、插入

//插入  只能对可变字符串操作,下面insert方法,依次是原字符串,插入的字符,插入的位置
NSMutableString *currentStr = [NSMutableString stringWithFormat:@"%@",@"豫A88888"];
NSMutableString *insertStr = [[NSMutableString alloc]initWithString:@"-"];
[currentStr insertString:insertStr atIndex:];
NSLog(@"currentstr is %@",currentStr);

6、验证

//验证,包含的前标和后标
NSString *str2 = @"http:www.baidu.com";
BOOL a = [str2 hasPrefix:@"http"];//前缀
BOOL b = [str2 hasSuffix:@"com"];//后缀
NSLog(@"a===%@,b===%@",a ?@"YES":@"NO",b ?@"YES":@"NO");

7、大小写互转

//改变字符串的大小写
NSString *str3 = @"zhengXZHOU";
NSString *da = [str3 uppercaseString];//转成大写
NSString *xiao = [str3 lowercaseString];//转成小写
NSString *shouDa = [str3 capitalizedString];//首字母大写,其余小写
NSLog(@"\n%@\n%@\n%@",da,xiao,shouDa);

8、编码   解码

//编码   解码
//编码
NSString *hStr = @"你好啊";
NSString *uniStr = [NSString stringWithUTF8String:[hStr UTF8String]];
NSData *uniData = [uniStr dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodStr = [[NSString alloc] initWithData:uniData encoding:NSUTF8StringEncoding] ;
NSLog(@"goodstr is %@",goodStr); //解码
const char *jsonstr = [goodStr UTF8String];
NSData *jsonData = [NSData dataWithBytes:jsonstr length:strlen(jsonstr)];
NSString *goodMsg = [[NSString alloc]initWithData:jsonData encoding:NSNonLossyASCIIStringEncoding];
NSLog(@"goodmsg is %@",goodMsg);

下面附上相应的打印:

仅做记录!

ios开发之--NSString的操作的更多相关文章

  1. ios开发之--NSString中substringFromIndex,substringWithRange,substringToIndex方法的使用

    1,substringFromIndex 从索引0开发到到index的后面的字符 2,substringWithRange 取指定range里面的字符,左边为索引index,右边为截取的范围 3,su ...

  2. iOS开发之-- 字符串的操作,去掉某一个字符或者替换成其他字符

    一个简单的操作,记录下: NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withS ...

  3. iOS开发:UINavigationController常用操作

    NavigationController常用操作: 更改bar的背景颜色:self.navigationController?.navigationBar.barTintColor =UIColor. ...

  4. iOS开发——C篇&文件操作

    今天开始C语言中的重点难点就基本上技术忘了,但是还有最后一个知识点不得不提,那就是文件操作. 我们都知道,我们每天都在使用电脑,手机,或者其他电子或者移动设备,其实我们在使用的时候每时每刻都在执行文件 ...

  5. ios 常用字符串NSString的操作

    //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8S ...

  6. ios开发之 -- NSString指定字体高亮显示

    一个简单的小需求,就是在一个字符串里面,指定一部分字节高亮显示,代码如下: NSString *descStr = @"需要高亮显示的字符"; NSString *nickStr ...

  7. ios开发之--NSString和NSArray互转

    将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","];//分隔符逗号 将arr ...

  8. 【iOS开发】-NSString的扩展使用

    第一:基本数据类型与字符串转换 //基本数据类型(int float,double char) 1)基本数据类型->NSString //1.int类型换换成字符串 int a = 88; NS ...

  9. iOS开发NSOperation 三:操作依赖和监听以及线程间通信

    一:操作依赖和监听 #import "ViewController.h" @interface ViewController () @end @implementation Vie ...

随机推荐

  1. 30个开源电子商务系统(PHP)

    osCommerce osCommerce是一款著名的PHP开源电子商务解决方案,提出“开箱即用”的强大功能,使网上商店安装非常方便快捷,并可以作为GNU通用公共授权的开源项目免费发布.osComme ...

  2. Spring Cloud 获取注册中心所有服务以及服务下的所有实例

    注册中心现有服务与实例数: 在任意客户端填写如下代码: /** * import org.springframework.cloud.client.ServiceInstance; * import ...

  3. 安卓程序代写 网上程序代写[原]Call requires API level 8 (current min is 1)错误

    导入了一个程序 , 每次运行之后都会出现该错误 . 点击clean 错误就会消失 , 但是执行该错误的时候该错误就会重新出现 . 这个错误需要在AndroidManifest.xml配置文件中修改 u ...

  4. QTcpSocket 发送和接收数据的几种方法

    1.QTcpSocket 继承于QAbstractSocket继承于QIODevice 2.QTcpSocket 提供的几种接收和发送数据方法 write ( const char *, qint64 ...

  5. c++11 std::move() 的使用

    std::move函数可以以非常简单的方式将左值引用转换为右值引用.(左值.左值引用.右值.右值引用 参见:http://www.cnblogs.com/SZxiaochun/p/8017475.ht ...

  6. JDBC删除表实例

    在本教程将演示如何在JDBC应用程序中删除一个数据库表. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中删除数据库表. 要执行以下示例,需要用实际用户名和密码替 ...

  7. 多线程---再次认识volatile,Synchronize,lock

    在多线程中我们常用的保证共享变量的方法有很多,现在我们介绍其中的一种,volatile,也是效率最高的一种.    一 .volatile的意义:             为了确保共享变量能被正确和一 ...

  8. pi4j,Netbeans中togglebutton跟Jbutton的区别

    一组togglebutton中会始终有一个是按下去的状态 一组commandbutton就全部都始终都是弹起的状态

  9. JSTL SQL标签库 使用

    推荐博客:http://blog.sina.com.cn/s/blog_4f925fc30101820u.html 怕博主把原文删了,所以在这里先保存一下. SQL标签库 JSTL提供了与数据库相关操 ...

  10. 前端页面——Cookie与Session有什么差别

    我们在实际生活中总会遇到这种事情,我们一旦登录(首次输入username和password)某个站点之后,当我们再次訪问的时候(仅仅要不关闭浏览器),无需再次登录.而当我们在这个站点浏览一段时间后,它 ...