Objective-C中字符串NSString的常用操作方法总结

 更新时间:2016年04月28日 09:13:17   作者:李刚  
这篇文章主要介绍了Objective-C中字符串NSString的常用操作方法总结,Objective-C中NSString和NSMutableString这两个类下包含了操作字符串的大多数方法,需要的朋友可以参考下

1.创建字符串

(1)常量字符串

复制代码 代码如下:

NSString *string = @"i am an iOSDevTip!";

(2)常用创建方法
复制代码 代码如下:

NSString *string = [[NSString alloc] init];

string = @"i am an iOSDevTip too!";


(3)用initWithString创建字符串
复制代码 代码如下:

NSString *string = [[NSString alloc] initWithString:@"iOSDevTip is here!"];

2.格式化创建字符串

(1)int格式化字符串

复制代码 代码如下:

int age = 20;
NSString *personAge = [NSString stringWithFormat:@"this person age is %d",age];

既然int格式化字符串,那么float、double等,也可以格式化字符串。

(2)NSString格式化字符串

复制代码 代码如下:

NSString *name = @"iOSDevTip";
NSString *personName = [NSString stringWithFormat:@"this person name is %@",name];

3.字符串比较

(1)isEqualToString方法比较

复制代码 代码如下:

NSString *stingOne = @"This is an iOSDevTip!";
NSString *stringTwo = @"This is an iOSDevTip!";
BOOL result = [stingOne isEqualToString:stringTwo];

(2)compare方法比较
复制代码 代码如下:

BOOL result = [stingOne compare:stringTwo] == NSOrderedSame;

compare:方法返回值类型为NSComparisonResult。而NSComparisonResult有下面几个枚举值。
复制代码 代码如下:

typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

4.字符串大小写转换

(1)小写转大写

复制代码 代码如下:

 NSString *string = @"This is an iOSDevTip!";
[string lowercaseString];

(2)大写转小写
复制代码 代码如下:

NSString *string = @"This is an iOSDevTip!";
[string uppercaseString];

(3)首字母大写
复制代码 代码如下:

NSString *string = @"ligang";
NSLog(@"string: %@",[string capitalizedString]);

打印:

2015-07-16 23:06:11.652 iOSStrongDemo[10279:3062010] string: Ligang

5.截取字符串

(1)substringToIndex截取字符串

复制代码 代码如下:

NSString *string = @"This is a operation string!";
NSString *subToString = [string substringToIndex:6];

(2)截取的subToString为This i

substringFromIndex截取字符串

复制代码 代码如下:

NSString *subFromString = [string substringFromIndex:6];

(3)截取的subFromString为s a operation string!

substringWithRange截取字符串

复制代码 代码如下:

NSString *rangeString = [string substringWithRange:NSMakeRange(6, 3)];

截取的rangeString为s a!

6.判断字符串是否包含另一个字符串

(1)rangeOfString判断

复制代码 代码如下:

NSString *string1 = @"This is a iOSDevTip";
NSString *string2 = @"iOSDevTip";
NSRange range = [string1 rangeOfString:string2];
NSInteger location = range.location;
NSInteger leight = range.length;
NSString *logString = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%ld,Leight:%ld",location,leight]];
NSLog(@"logString:%@",logString);

打印出来:

iOSStrongDemo[8837:2221170] logString:Location:10,Leight:9

(2)判断是否包含前后缀

复制代码 代码如下:

NSString *string = @"I love China";
BOOL isHasI = [string hasPrefix:@"I"];
BOOL isHasChina = [string hasSuffix:@"China"];

7.分割字符串

复制代码 代码如下:

NSString *string = @"This is a iOSDevTip";
NSArray *array = [string componentsSeparatedByString:@"a"];
NSString *string1 = [array objectAtIndex:0];
NSString *string2 = [array objectAtIndex:1];
NSLog(@"string1:%@  string2:%@",string1,string2);

打印:

2015-07-16 22:40:39.559 iOSStrongDemo[10165:3055448] string1:This is  string2: iOSDevTip

8.插入字符串

复制代码 代码如下:

NSMutableString *string = [[NSMutableString alloc] initWithString:@"I China"];
[string insertString:@"Love " atIndex:2];
NSLog(@"string: %@",string);

打印:
2015-07-16 22:44:10.706 iOSStrongDemo[10206:3057014] string: I Love China
(1)追加字符串
复制代码 代码如下:

NSMutableString *string = [[NSMutableString alloc] initWithString:@"I Love "];
[string appendString:@"China"];
NSLog(@"string:%@",string);

打印:

2015-07-16 22:42:32.305 iOSStrongDemo[10189:3056410] string:I Love China

9.删除字符串

复制代码 代码如下:

NSMutableString *string = [[NSMutableString alloc] initWithString:@"I love China"];
[string deleteCharactersInRange:NSMakeRange(2, 4)];
NSLog(@"String1: %@",string);

打印:

2015-07-16 22:46:58.437 iOSStrongDemo[10219:3057749] String1: I China

10.替换字符串

复制代码 代码如下:

NSString *string = @"I love China";
NSString *replaceString = [string stringByReplacingOccurrencesOfString:@"love" withString:@"like"];
NSLog(@"replaceString:  %@",replaceString);

打印:

2015-07-16 22:56:07.405 iOSStrongDemo[10236:3059503] replaceString: I like China

11.去除字符串首尾的空格和换行符

复制代码 代码如下:

NSString *string = @" I love China ";
NSString *text = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"text:%@",text);

打印:

2015-07-16 23:00:47.845 iOSStrongDemo[10265:3061013] text:I love China

相关文章

  • iOS中的地理位置的获取及plist设置方法

    iOS中的地理位置的获取及plist设置方法

    下面小编就为大家分享一篇iOS中的地理位置的获取及plist设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • iOS自定义时间滚动选择控件

    iOS自定义时间滚动选择控件

    这篇文章主要为大家详细介绍了iOS自定义时间滚动选择控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法

    iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法

    这篇文章主要介绍了iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法,代码基于传统的Objective-C,需要的朋友可以参考下
    2015-11-11
  • iOS对象指针和基础数据类型的强转详解

    iOS对象指针和基础数据类型的强转详解

    最近在做一些小功能,忽然发现有的基础数据转换居然都忘记了。于是想着要赶紧整理下记下来!本文就是记录的一些内容,主要介绍了iOS中对象指针和基础数据类型的强转,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
    2016-11-11
  • iOS中tableview实现编辑、全选及删除等功能的方法示例

    iOS中tableview实现编辑、全选及删除等功能的方法示例

    这篇文章主要给大家介绍了关于iOS中tableview实现编辑、全选及删除等功能的相关资料,文中通过示例代码介绍的非常详细,不仅是介绍实现的方法,将实现过程中遇到的问题也都分享出来了,需要的朋友们下面来一起看看吧。
    2017-07-07
  • iOS下拉选择菜单简单封装

    iOS下拉选择菜单简单封装

    这篇文章主要为大家详细介绍了iOS下拉选择菜单封装代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • iOS使用原生AVCapture系列

    iOS使用原生AVCapture系列

    这篇文章主要为大家详细介绍了iOS使用原生AVCapture系列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • iOS My97DatePicker日历使用详解

    iOS My97DatePicker日历使用详解

    这篇文章主要为大家详细介绍了iOS My97DatePicker日历的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • iOS实现简单分栏效果

    iOS实现简单分栏效果

    这篇文章主要为大家详细介绍了iOS实现简单分栏效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • IOS开发 支持https请求以及ssl证书配置详解

    IOS开发 支持https请求以及ssl证书配置详解

    这篇文章主要介绍了IOS开发 支持https请求以及ssl证书配置详解的相关资料,需要的朋友可以参考下
    2017-02-02

最新评论