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 ...
随机推荐
- linux的计划
我接触linux也有好几年了,至少有5年了.最近公司在搞内部培训,人人都可以报名培训别人.想到自己在linux浸淫多年,应该出来出一份力.一直以来想就linux写一个专题.今天刚好在做相关的ppt,借 ...
- Autofac - 组件
快到年终了, 最近项目比较悠闲, 就想总结下, 项目中所使用到的一些技术, 以及使用方法. 之前有写过Dapper以及Dapper的一个扩展, 这些也是项目中使用过的. 算是一个温故而知新吧. 代码: ...
- ASP.NET MVC在线预览Excel、Word、TXT、PDF文件
代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syste ...
- C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现
今天做一个管理后台菜单,想着要用无限极分类,记得园子里还是什么地方见过这种写法,可今天找了半天也没找到,没办法静下心来自己写了: 首先创建节点类(我给它取名:AdminUserTree): /// & ...
- 【C#】分享一个可灵活设置边框的Panel
---------------------------更新:2014-05-19--------------------------- 优化了一下逻辑,就是既然可以通过设置BorderSide=Non ...
- 新平台,新版本,ComponentOne 持续发力
我们很高兴宣布2016年 V1 版本发布了,可免费下载试用. 今年ComponentOne 将聚焦WinForm.WPF.MVC.UWP平台和核心控件Flex家族. 本次发布主要包括UWP平台:Win ...
- sql中 in , not in , exists , not exists效率分析
in和exists执行时,in是先执行子查询中的查询,然后再执行主查询.而exists查询它是先执行主查询,即外层表的查询,然后再执行子查询. exists 和 in 在执行时效率单从执行时间来说差不 ...
- Using Recursive Common table expressions to represent Tree structures
http://www.postgresonline.com/journal/archives/131-Using-Recursive-Common-table-expressions-to-repre ...
- ASP.NET Boilerplate Zero启动方式
1.打开解决方案还原nuget包 2.设置 ModuleZeroSampleProject.Web 为启动项目[带有有数据库连接字符串的项目] 3.重启vs后.打开 视图>其他窗口>程序 ...
- springmvc参数绑定
1. @PathVariable当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvaria ...