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. 【Swift学习】Swift编程之旅---类和结构体(十三)

    与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件.你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口. 注意:通常一个类 ...

  2. 原生JS查找元素

    今天写了一个很简单.很粗暴的通过JS根据类来查找DOM元素. 为了降低它的粗暴等级(耗费性能)我给了三个等级. 首先性能最好的,适合FF,CH,IE8,通过querySelectorAll这个API. ...

  3. Emit学习(3) - OpCodes - 循环和异常

    本来准备直接进入Dapper的, 但是昨天初步看了一下, 内容不少, Dapper不愧是一款成熟的框架, 里面对各种情况的考虑, 很实用, 不过这也使得我短时间内看不完, 所以得等几天了. 那就先来看 ...

  4. mvc 对一个或者多个实体验证失败

    为了解决“对一个或者多个实体验证失败”,关闭调用SaveChanges() 的实体属性合法性验证(谨慎使用) db.Configuration.ValidateOnSaveEnabled = fals ...

  5. 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台

    使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...

  6. WinForm三级联动

    窗体中方三个combobox Form1 中的代码 AreaDataBind函数 new chinaData().Select()函数 找到combobox属性里面的事件 selectedindexc ...

  7. c#初学-多线程中lock用法的经典实例

    本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被 ...

  8. 如何安装node.js支持插件

    在eclipse插件中,node.js插件中比较知名的是nodeclipse. 从HBuilder6.3起,工具-插件安装,可直接选择nodeclipse插件安装.安装完毕后重启HBuilder新建n ...

  9. 更新整理本人所有博文中提供的代码与工具(C++,2013.10)

    为了更方便地管理博文中涉及的各种代码与工具资源,现在把这些资源迁移到 Google Code 中,有兴趣者可前往下载. C++ 1.<通用高性能 Windows Socket 组件 HP-Soc ...

  10. WebSocket 学习笔记--IE,IOS,Android等设备的兼容性问题与代码实现

    一.背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使用WebSocket的方式.于是,我开始 ...