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 ...
随机推荐
- Wo的书单
一个人,一生之中总要有几本证明自己的书. 2016---08 <ASP.NET MVC5 高级编程(第五版)> <数据结构(C语言第二版)>
- IOS 通用颜色快速生成代码
通常情况下我们是直接使用类似于#EE1289这样的代码来直接表示RGB颜色的.但是在IOS语言中,它的颜色表示方式比较另类,他是使用一个0-1的小数来表示颜色值的.这样的实现,或许能够表示更多的颜色值 ...
- 关于JQuery
整理jq基础常用(过于基础别喷): 1, $('div input[name]').css('','');//获取层中有name属性的标签 $('div input[name=txtname]').c ...
- asp.net中Ajax控件的用途(二)
1.个人觉得对于新手最为实用的PopupControlExtender,弹出层载体,在实例中可以弹出登录框,百度的登陆页面基本都用的这种形式,可以把浮动的panel宽高都设置为100%,以屏蔽底层操作 ...
- 做10年Windows程序员与做10年Linux程序员的区别
如果一个程序员从来没有在linux,unix下开发过程序,一直在windows下面开发程序, 同样是工作10年, 大部分情况下与在linux,unix下面开发10年的程序员水平会差别很大.我写这篇文章 ...
- JSP读取My SQL数据乱码问题的解决
用jsp读取My SQL数据库里面的数据,结果读出来的是乱码,把jsp页面的charset.pageEncoding属性都改成了UTF-8,My SQL数据库的Collate属性也改成了UTF-8,还 ...
- Hack语言特性之类型化
Hack最基础的特性就是类型标注.PHP5已经开始支持对象的类型化,PHP7也提供了标量类型化声明.Hack提供了全面的类型标注支持,与其typecher配合使用,还可以实现快速.前置静态类型验证. ...
- spring的事务操作
我们项目一期已经差不多结束了,所以一些细节也被拿了出来,出现最多的就是事务的操作了.因为自己负责的是一个模块(因为是另外一个项目的负责人),所以组员经常会遇到事务的问题,会出现很多奇葩的用法,各种乱用 ...
- 习题:codevs 1035 火车停留解题报告
本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...
- nginx的pass_proxy遇到的坑
Pass_proxy走内网,被请求方的php使用remote_addr得到就是转发机器的内网地址,如192.168.10.141这样的.走外网,被请求方php的remote_addr得到就是转发机器的 ...