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. 网页颜色分辨测试小游戏的js化辨别及优化

    相信大家都玩过一种网页游戏,通俗的可以叫颜色分辨测试游戏(这个名字对不对我也不知道,不要在意这些细节),也就是下面截图这个玩意,一看就明白:细细把玩过一段时间,作为一个一百米开外男女不分的弱视青年,每 ...

  2. 从设计到开发,硅谷技术专家教你做“声控”APP

    编者:本文为携程机票研发部技术专家祁一鸣在携程技术微分享中的分享内容,关注携程技术中心微信公号ctriptech,获知更多一手干货. [携程技术微分享]是携程技术中心推出的线上公开分享课程,每月1-2 ...

  3. C#中方法的声明

    C#中方法的声明(四要素) 访问修饰符 :public,private(方法的默认访问修饰符) 返回值类型:void 和 非void 方法名称    : 规范是方法名称取动词,每个单词的首字母大写. ...

  4. 【转载】那些年我们一起清除过的浮动demo

    返回文章:那些年我们一起清除过的浮动 闭合浮动 与 清除浮动 的区别 .main:很抱歉,现代浏览器中我没能把warp撑高(float:left) .side:我也浮动了(float:left) .f ...

  5. 关于SilverLight

    目前工作中用到SilverLight,有必要对其作一定的了解.

  6. 聊一下C#开发者如何过渡到JAVA 开发者

    由于工作需要,最近也开始倒腾Java了.NET的话,从2012年测试版开始玩的,那个时候VB6比较熟悉,还天真的以为VB.NET以后会很火, 事实证明,也只是一厢情愿,有C#了,要VB.NET干什么? ...

  7. ASP.NET页面中去除VIEWSTATE视

    保存页的所有视图状态信息和控件状态信息. 源码:http://www.jinhusns.com/Products/Download/?type=xcj 作者在早期参与的项目中曾遇到这样的需求:基于SE ...

  8. Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V

    最近下载一个新版本的adt-bundle,Android API是20. 把Plain Text控件往布局上面拖时,发现拖不上去,出现了下面的错误: Exception raised during r ...

  9. 【Java每日一题】20161104

    package Nov2016; public class Ques1104 { private String num; public void setNum(String num){ num = n ...

  10. C++学习笔记13:运算符重载(赋值操作符2)

    移动语义 完成所有权的移交,当拷贝构造和赋值构造时,目标对象的所有权必须移交给我们的新的对象,原始对象将丧失所有权,_p指针将不再指向原来的那个数组: 左值与右值 C原始定义 左值:可以出现在赋值号的 ...