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 ...
随机推荐
- log4net 既要按日期分割日志文件,又要按文件大小分割。
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender"> ...
- Lua使用心得(2)
在lua脚本调用中,如果我们碰到一种不好的脚本,例如: while 1 do do end 那我们的程序主线程也会被阻塞住.那我们如何防止这种问题呢?下面就给出一个解决的办法. 首先为了不阻塞主线程, ...
- C#的变迁史 - C# 5.0 之调用信息增强篇
Caller Information CallerInformation是一个简单的新特性,包括三个新引入的Attribute,使用它们可以用来获取方法调用者的信息, 这三个Attribute在Sys ...
- 调整 FMX Android 文字显示「锯齿」效果
说明:调整 Firemonkey Android 显示文字有「锯齿」效果 适用:Firemonkey Android 平台 修改方法: 请将源码 FMX.FontGlyphs.Android.pas ...
- 一个奇葩常见的问题 nginx 403 forbidden错误
今天安装dedecms,配置Nginx,然后生成一键生成静态页面,然后就没有然后了,所有栏目页面都显示nginx 403 forbidden. 一般来说nginx 的 403 Forbidden er ...
- 引用计数 vs. GC
内存管理问题 内存管理是编程过程中的一个经典问题,早期在 C 语言时代,几乎都靠 malloc/free 手动管理内存.随着各个平台的发展,到现在被广泛采用的主要有两个方法: 引用计数 (ARC,Au ...
- GJM :用JIRA管理你的项目(二)JIRA语言包支持及插件支持 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- javascript脚本设置输入框只读的问题
今天在开发中准备通过javascript设置input框只读属性的时候,用document.getElementById('input').readonly='readonly';结果发现这样设置无效 ...
- Visual Studio Code 使用 ESLint 增强代码风格检查
前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...
- paramiko 遭遇socket.error: Socket is closed 错误的解决办法
似乎是connection自己断了解决的办法是在创建conn的时候添加下面这句 conn.keep_this = conn_session 完整代码 def create_a_conn(ip_addr ...