OC NSString(字符串)
OC NSString(字符串)
多行文字字面量
NSString * string = @"abC"
@"DEF"
@"hjk"
@"uuiop";
NSRange的使用
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
//定义:
NSRange range = {2,2};
//使用:
NSString * newString = [string substringWithRange:range];
常用方法
在A字符串中查找B字符串,返回B字符串在A中的位置
- (NSRange)rangeOfString:(NSString *)searchString;
//举例:
NSRange range = [string rangeOfString:@"gs"];
if (range.length == 0) {
NSLog(@"没有找到liu");
}
if (range.location == NSNotFound) {
NSLog(@"没有找到liu");
}
NSCaseInsensitiveSearch 忽略大小写
[string rangeOfString:@"ha" options:NSCaseInsensitiveSearch]
不可变字符串常用方法
带占位符的拼接字符串方法 stringByAppendingFormat
NSString * newString = [string stringByAppendingFormat:@"def%d",12];
拼接字符串方法 stringByAppendingString
NSString * newString = [string stringByAppendingString:@"opiuuoo"];
填充字符串 stringByPaddingToLength: withString: startingAtIndex:
NSString * newstring = [string stringByPaddingToLength:10 withString:@"123" startingAtIndex:2];
分割字符串 componentsSeparatedByString
NSArray * array = [string componentsSeparatedByString:@"-"];
通过数组合并字符串 componentsJoinedByString
NSString * string = [array componentsJoinedByString:@"-"];
给字符串前后去空格 stringByTrimmingCharactersInSet
NSString * string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
替换字符串 stringByReplacingOccurrencesOfString
NSString * newString = [string stringByReplacingOccurrencesOfString:@"hu" withString:@" "];
根据range替换字符串 stringByReplacingCharactersInRange:
NSRange range = {4,4};
string = [string stringByReplacingCharactersInRange:range withString:@"shifan"];
大写字母转小写 lowercaseString
NSString * newString2 = [string2 lowercaseString];
小写字母转大写 uppercaseString
NSString * newString1 = [string1 uppercaseString];
首字母大写 capitalizedString
NSString * newString2 = [string2 capitalizedString];
字符串比较函数 compare:
NSComparisonResult rs = [string1 compare:string2];
忽略大小比较字符串 caseInsensitiveCompare:
NSComparisonResult rs = [string1 caseInsensitiveCompare:string2];
if (rs == NSOrderedAscending) {
NSLog(@"string1 < string2");
} else if (rs == NSOrderedSame) {
NSLog(@"string1 = string2");
} else {
NSLog(@"string1 > string2");
}
字符串转基本数据类型
int num = [string intValue];
double numd = [string doubleValue];
//还有: floatValue,integerValue,longLongValue,boolValue
可变字符串NSMutableString
初始化方法
NSMutableString * string = [[NSMutableString alloc] initWithCapacity:5];
NSMutableString * s = [[NSMutableString alloc] initWithString:@"ab"];
追加方法
[s appendFormat:@"%d",1];
[s appendString:@"123"];
插入方法
[string insertString:@"90" atIndex:2];
替换方法
[string replaceCharactersInRange:range withString:@"jj"];
删除方法
[string deleteCharactersInRange:range];
不可变字符串转可变字符串(重置字符串)
[string setString:str];
OC NSString(字符串)的更多相关文章
- iOS - OC NSString 字符串
前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...
- OC之字符串 NSString与NSMutableString
一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *str1=@"hello"; 字符串对象的输出格式:NSLog(@" ...
- OC基础--字符串
前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...
- NSString字符串
要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByReplacingOccurrences ...
- OC之从键盘输入NSString字符串
方法一: char *a; static char z; a = &z; gets(a); NSString *intput = [NSString stringWithUTF8String: ...
- iOS学习13之OC NSString类
C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...
- NSString字符串类型-学习总结
1.字符串的创建 (1)创建常量字符串 NSString *str = @"This is a String"; //str是变量名 (2)创建空的字符串,给字符串赋值 NSStr ...
- NSString 字符串
0.字符串常用操作 自动补充方法:当字符串长度不够需要自动补充到一定的位数 OC字符串与C语言字符串之间的相互转换 1.不可变字符串的创建 // 直接创建不可变字符串 /* 在 OC 中,使用 @&q ...
- 【去除NSString 字符串中的空格换行符】
@interface NSString (DeletWhiteSpace) // 返回一个去掉前后空格的字符串或者下划线,如果自己是一个nil 返回@“” - (NSString *)trimming ...
随机推荐
- 【Swift学习】Swift编程之旅---类和结构体(十三)
与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件.你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口. 注意:通常一个类 ...
- 原生JS查找元素
今天写了一个很简单.很粗暴的通过JS根据类来查找DOM元素. 为了降低它的粗暴等级(耗费性能)我给了三个等级. 首先性能最好的,适合FF,CH,IE8,通过querySelectorAll这个API. ...
- Emit学习(3) - OpCodes - 循环和异常
本来准备直接进入Dapper的, 但是昨天初步看了一下, 内容不少, Dapper不愧是一款成熟的框架, 里面对各种情况的考虑, 很实用, 不过这也使得我短时间内看不完, 所以得等几天了. 那就先来看 ...
- mvc 对一个或者多个实体验证失败
为了解决“对一个或者多个实体验证失败”,关闭调用SaveChanges() 的实体属性合法性验证(谨慎使用) db.Configuration.ValidateOnSaveEnabled = fals ...
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...
- WinForm三级联动
窗体中方三个combobox Form1 中的代码 AreaDataBind函数 new chinaData().Select()函数 找到combobox属性里面的事件 selectedindexc ...
- c#初学-多线程中lock用法的经典实例
本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被 ...
- 如何安装node.js支持插件
在eclipse插件中,node.js插件中比较知名的是nodeclipse. 从HBuilder6.3起,工具-插件安装,可直接选择nodeclipse插件安装.安装完毕后重启HBuilder新建n ...
- 更新整理本人所有博文中提供的代码与工具(C++,2013.10)
为了更方便地管理博文中涉及的各种代码与工具资源,现在把这些资源迁移到 Google Code 中,有兴趣者可前往下载. C++ 1.<通用高性能 Windows Socket 组件 HP-Soc ...
- WebSocket 学习笔记--IE,IOS,Android等设备的兼容性问题与代码实现
一.背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使用WebSocket的方式.于是,我开始 ...