iOS-OC-基础-NSString常用方法
NSString常用方法和属性
//compare 比较字符串升序、相同还是降序,比较原理:首先比较第一个字符(ASCII码比较),如果是升序就为升序,如果相同比较下一个字符。。。
NSString *str1 = @"abcd";
NSString *str2 = @"ABCD";
NSComparisonResult result = [str1 compare:str2];
// caseInsensitiveCompare 忽略大小写比较
// NSComparisonResult result2 = [s7 caseInsensitiveCompare:s8];
if (result == NSOrderedAscending) {
NSLog(@"升序");
} else if(result == NSOrderedSame) {
NSLog(@"相同");
} else if(result == NSOrderedDescending) {
NSLog(@"降序");
}
//length 计算字符串字符的个数
NSString *str3 = @"";
NSString *str4 = @"";
NSUInteger len1 = [str3 length];
NSUInteger len2 = [str4 length];
NSLog(@"len1 = %ld ,len2 = %ld", len1, len2);
//————————————————————————————字符串的转化 ————————————————————————————
/*
1、大小写的转换
2、与基本数据类型的转换
*/
NSString *str5 = @"hello WORLD";
NSString *str6 = [str5 uppercaseString]; // 全部转为大写
NSString *str7 = [str5 lowercaseString]; // 全部转为小写
NSString *str8 = [str5 capitalizedString]; // 首字母大写
NSLog(@"转为大写:%@",str6);
NSLog(@"转为小写:%@",str7);
NSLog(@"转为首字母大写:%@",str8);
// 转为基本数据类型,只能是数字字符串可以转化
NSString *str9 = @"";
int value1 = [str9 intValue];
float value2 = [str9 floatValue];
double value3 = [str9 doubleValue];
BOOL value4 = [str9 boolValue];
NSLog(@"value1 = %d",value1);
NSLog(@"value2 = %f",value2);
NSLog(@"value3 = %lf",value3);
NSLog(@"value4 = %d",value4);
//————————————————————————————字符串的拼接——————————————————————————————
NSString *str10 = @"";
NSString *str11 = @"";
NSString *str12 = [[NSString alloc] initWithFormat:@"%@%@",str10,str11];
NSLog(@"str12 :%@",str12);
NSString *str13 = [str10 stringByAppendingString:str11];
NSLog(@"str13 :%@",str13);
NSString *str14 = [str10 stringByAppendingFormat:@"%@33",str11]; //可以追加
NSLog(@"str14 :%@",str14);
//————————————————————————————字符串的查找替换———————————————————————————
// 方式一:
NSString *str15 = @"549686034@qq.com";
//rangeOfString 查找字符串所在的位置 返回NSRange类型
NSRange range = [str15 rangeOfString:@"@qq.com"];
//NSNotFound 用于判断是否找到
if (range.location != NSNotFound) {
NSLog(@"包含字符串");
} else{
NSLog(@"不包含字符串");
}
// 方式二:查找并且替换
NSString *newString = [str15 stringByReplacingOccurrencesOfString:@"qq.com" withString:@"163.com"];
NSLog(@"newString :%@",newString);
//————————————————————————————字符串的截取———————————————————————————
NSString *str16 = @"";
// substringToIndex:从字符串开始截取到指定的位置,是从0开始
NSLog(@"截取的:%@",[str16 substringToIndex:]);
// substringFromIndex:从指定位置截取到字符串结尾
NSLog(@"截取的1:%@",[str16 substringFromIndex:]);
// substringWithRange:截取指定的范围
NSRange range1 = {,};
// NSRange range2 = NSMakeRange(1, 3); // NSrange的两种创建方式
NSLog(@"截取的2:%@",[str16 substringWithRange:range1]);
// 取指定位置的字符
char c = [str16 characterAtIndex:];
NSLog(@"c = %c",c);
/*=============================NSMutableString(可变字符串)常用方法========================*/
// 1、————————————————————————————可变字符串的创建———————————————————————————
NSMutableString *mstr1 = [[NSMutableString alloc] initWithFormat:@"zxcvbnm"];
NSMutableString *mstr2 = [NSMutableString stringWithFormat:@"asdfghjkl"];
// NSMutableString *ms3 = @"hjkl;"; 可变的字符串不能这么写
// 2、————————————————————————————可变字符串的插入、删除、追加、替换———————————————————————————
// insertString:atInde: 将字符串插入到指定的位置,不需要返回新的字符,这是跟不可变字符串的区别
[mstr1 insertString:@"" atIndex:];
NSLog(@"ms1 :%@",mstr1);
// deleteCharactersInRange :删除指定范围的字符串
NSRange range3 = {,};
[mstr2 deleteCharactersInRange:range3];
NSLog(@"mstr2 :%@",mstr2);
//字符串的拼接
[mstr2 appendString:@""];
[mstr2 appendFormat:@"%d99",];// 可以追加
NSLog(@"mstr2 :%@",mstr2);
//字符串替换
NSMutableString *mstr3 = [[NSMutableString alloc] initWithFormat:@"YYXXZZ"];
NSRange range4 = [mstr3 rangeOfString:@"ZZ"];
// replaceCharactersInRange:withString: 将指定范围的字符串替换
[mstr3 replaceCharactersInRange:range4 withString:@"VV"];
NSLog(@"mstr3:%@",mstr3);
// 设置新的字符串
[mstr3 setString:@""];
NSLog(@"new_mstr3:%@",mstr3);
本文GitHub地址https://github.com/zhangkiwi/iOS_SN_NSString
iOS-OC-基础-NSString常用方法的更多相关文章
- OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏
OC中的基本数据类型 NSString 在64位系统下,相当于long,在非64位系统下,想当于int. CGFloat 在64位系统下,相当于double,在非64位系统之下,想当与float ...
- iOS 阶段学习第11天笔记(OC基础知识)
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- iOS - OC NSString 字符串
前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...
- OC基础笔记目录
OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ...
- ios+oc面试题
ios+oc面试题 浅复制和深复制的区别?//浅拷贝和深拷贝答案:浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身.//通过对象的指针来访问这个对象深层复制(mutableCo ...
- OC基础16:复制对象
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.浅复制即是指针赋值,复制对象的修改会影 ...
- 【IOS学习基础】NSObject.h学习
一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...
- OC基础回想(十二)协议
在OC基础(十一)中我们讨论了类别和非正式协议的奇异之处.在使用非正式协议时.能够仅仅实现你想要获得响应的方法.也不必在对象中声明不论什么内容来表示该对象可用作托付对象. 全部这些任务能够用最少的代码 ...
- OC基础--数据类型与表达式
前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...
随机推荐
- 关于百度鹰眼中 xcode 7 编译报错问题
请把 这个地方改为 YES 否则demo 不能运行
- hdu5347 MZL's chemistry(打表)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud MZL's chemistry Time Limit: 2000/1000 MS ...
- 搭建phonegap开发环境,搭建安卓开发环境
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- python学习(四)五数连珠
中午有段时间,模仿<五子连珠>写了一段代码,运行截图如下: import random # for random.randrange() import os # for input() b ...
- 机器学习之K近邻算法(KNN)
机器学习之K近邻算法(KNN) 标签: python 算法 KNN 机械学习 苛求真理的欲望让我想要了解算法的本质,于是我开始了机械学习的算法之旅 from numpy import * import ...
- sqlserver exists和in 与exists和not in
1.exists 和 in 1.1 正常情况下exists和in的效果是一样的,如图试验 即使子查询中包含null也没有关系,依然可以正常使用 1.2 in 和 exists效率比较 先看in 由图中 ...
- python作业day3修改配置文件
思维还有点乱,撸代码到深夜,先上代码吧.(我是跟着武sir的思路的) 流程图: 代码(有注释): #!/usr/bin/env python # -*- coding:utf-8 -*- import ...
- 什么是Code Review
Code Review 是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节. 本文通过对Code Review的一些概念和经验的探讨,就如何进 ...
- 联通3g彩信设置
手机ME865,安卓2.3.6 添加接入点名称:3gwapAPN:3gwap代理:10.0.0.172端口:80服务器:http://www.wo.com.cnMMSC:http://mmsc.myu ...
- 《Programming WPF》翻译 第6章 1.创建和使用资源
原文:<Programming WPF>翻译 第6章 1.创建和使用资源 资源这个词具有非常广泛的意义.任何对象都可以是一个资源.一个在用户界面中经常使用的Brush或者Color可以是一 ...