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(字符串)的更多相关文章

  1. iOS - OC NSString 字符串

    前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...

  2. OC之字符串 NSString与NSMutableString

    一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *str1=@"hello"; 字符串对象的输出格式:NSLog(@" ...

  3. OC基础--字符串

    前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...

  4. NSString字符串

    要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByReplacingOccurrences ...

  5. OC之从键盘输入NSString字符串

    方法一: char *a; static char z; a = &z; gets(a); NSString *intput = [NSString stringWithUTF8String: ...

  6. iOS学习13之OC NSString类

    C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...

  7. NSString字符串类型-学习总结

    1.字符串的创建 (1)创建常量字符串 NSString *str = @"This is a String"; //str是变量名 (2)创建空的字符串,给字符串赋值 NSStr ...

  8. NSString 字符串

    0.字符串常用操作 自动补充方法:当字符串长度不够需要自动补充到一定的位数 OC字符串与C语言字符串之间的相互转换 1.不可变字符串的创建 // 直接创建不可变字符串 /* 在 OC 中,使用 @&q ...

  9. 【去除NSString 字符串中的空格换行符】

    @interface NSString (DeletWhiteSpace) // 返回一个去掉前后空格的字符串或者下划线,如果自己是一个nil 返回@“” - (NSString *)trimming ...

随机推荐

  1. Android系统如何录制屏幕(录制成mp4格式)

    不管是教学,还是为了演示,如果能将Android手机(或平板)的屏幕录制成视频文件,那是一件非常酷的事(iOS8已经提供了这一功能,能通过OS X直接在Mac上录制iPad.iPhone的屏幕,win ...

  2. 二、Sink例程

    1. Sink例程 CSR粗略的将audio蓝牙设备分为了两大类:sink和source设备,并分别提供了两类设备的例程,配置工具,说明文档.如对于sink设备,提供了sink app例程,SinkU ...

  3. Data URL简介及Data URL的利弊

    之前写过一篇“漫谈前端优化”的文章,里面提到过DataUrl,粗鲁的描述了下,感觉不甚详焉,所以这几天也总结了这方面的知识,参考一些资料,补充一篇文章在这里,对这方面的资料来说,也是一种强化记忆应用: ...

  4. IOS高级编程之三:IOS 多线程编程

    多线程的概念在各个操作系统上都会接触到,windows.Linux.mac os等等这些常用的操作系统,都支持多线程的概念. 当然ios中也不例外,但是线程的运行节点可能是我们平常不太注意的. 例如: ...

  5. web前端学习笔记---scrollWidth,clientWidth,offsetWidth的区别

    通过一个demo测试这三个属性的差别. 说明: scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大. clientWidth:对象内容的可视区的宽度,不包滚动 ...

  6. win10 设置 计算机/此电脑/我的电脑 图标到桌面上

    桌面上右键--个性化 选择右边的 主题选项 然后点击 桌面图标设置 勾选计算机 图标 需要什么图标就勾选哪个就行了 然后点击 确定 这样就可以了

  7. 基于Ionic2的开源项目

    项目介绍 基于Ionic2的Ionic中文论坛客户端,该应用也是边学边做的,为了将更多常用东西加入到APP中,有些逻辑不通之处,敬请包涵. 开源地址 https://github.com/zxj963 ...

  8. ASP.NET访问Excel 失败的解决方法(错误号:80070005,8000401a)

    用asp.net把值写入Excel在本地测试通过,然后提交服务器后老是写入不成功 并提示错误: Retrieving the COM class factory for component with ...

  9. 第 13 章 CSS 选择器[上]

    学习要点: 1.选择器总汇 2.基本选择器 3.复合选择器 4.伪元素选择器 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 选择器,通过选择器定位到想要设置样式的元素.目前 CSS 选择器的 ...

  10. 2015 - 准备读书List

    时刻提醒自己,不进步意味着倒退. 2015年准备读完的技术书籍: 1. <Redis设计与实现>