iOS中的字符串NSString
创建一个字符串对象:
NSstring * str1 = @"hello world";
NSString * str = [[NSString alloc]initWithString:@"hello world!"];
NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串
int a = 123;
NSString * str_3 = [[NSString alloc]initWithFormat:@"a = %d %s%@", a, "abcd", @"efg"];//用格式化字符串初始化
//可完毕字符串的拼接以及完毕C的字符串与OC的字符串的转化
NSString * str1 = [NSString stringWithString:@"hello world"];
NSString * str2 = [NSString stringWithUTF8String:"hello world"];
NSString * str3 = [NSString stringWithFormat:@"%s","hello world"];
NSstring * str1 = @"hello";
NSString * str = [[NSString alloc]initWithString:@"hello world!"];
NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串
int a = 123;
NSString * str_3 = [[NSString alloc]initWithFormat:@"a = %d %s%@", a, "abcd", @"efg"];//用格式化字符串初始化
字符串转化:
NSString * str = @"hello";
const char *p = [str UTF8String];将OC字符串转化为C的字符串
str = @"123";
int a = [str intValue];//将数字串转化成整型数据
[str floatValue];//将数字串转化成float型
[str doubleValue];//将数字串转化成double型
NSString * str = @"hello";
const char *p = [str UTF8String];将OC字符串转化为C的字符串
str = @"123";
int a = [str intValue];//将数字串转化成整型数据
[str floatValue];//将数字串转化成float型
[str doubleValue];//将数字串转化成double型
经常使用的NSString :
NSLog(@"%ld",[str1 length]); //求字符串长度
NSLog(@"%c", [str1 characterAtIndex:1]);//获取字符串中的字符
BOOL ret = [str1 isEqualTo:str2];//比較两个字符串是否相等,相等返回YES(1),不相等返回NO(0) (BOOL YES(1) NO(0))
long ret1 = [str1 compare:str2];//比較两个字符串的大小,str1大于 返回1 相等返回0 小于返回-1
long ret2 = [str1 caseInsensitiveCompare:str2];//不区分大写和小写比較字符串大小
NSString * ptr = [str2 uppercaseString];//将字符串中的全部小写字符转换成大写 不改变原来的字符串
ptr = [str1 lowercaseString];//将字符串中的全部大写字符转换成小写 不改变原来的字符串
ptr = [str3 capitalizedString];//将字符串中出现的第一个字母转换成大写,其余字母小写
NSString * str4 = @"hello world";
NSRange range = [str4 rangeOfString:@"wr"];//查找子串,找不到返回NSNotFound 找到返回location和length
if (range.location != NSNotFound) {
NSLog(@"%ld %ld",range.location, range.length);
}
NSString * str5 = @"helloworld";
NSString * ptr1 = [str5 substringToIndex:4];//字符串抽取 从下标0開始到4 不包含4
NSString * ptr2 = [str5 substringFromIndex:5];//从下标5開始抽取到字符串结束 包含5
NSRange range1 = {4,3};//结构体初始化
NSString * ptr3 = [str5 substringWithRange:range1];//在range指定范围内抽取
NSString * ptr4 = [str5 substringWithRange:NSMakeRange(4,3)];//NSMakeRange能够生成一个结构体
NSString * str = @"www.baidu.com";
BOOL ret = [str hasPrefix:@"www"];//推断字符串是否以指定字符串开头
NSString * str1 = @"1.txt";
BOOL ret1 = [str hasSuffix:@".txt"];//推断字符串是否以指定的字符串结尾
NSMutableString可变字符串(动态添加和降低的) 继承于NSString能够使用NSString的全部方法
NSMutableString * str = [[NSMutableString alloc]initWithString:@"hello"];//将不可变的字符串转换为可变的字符串
[str insertString:@"123" atIndex:1];//在指定下标(不要越界)位置插入NSString类型字符串
[str appendString:@"123"];//在字符串末尾追加字符串
[str deleteCharactersInRange:NSMakeRange(0, 2)];//从指定下标删除length个字符
[str setString:@"baidu"];//改动字符串亦称对该可变字符串赋值
[str replaceCharactersInRange:NSMakeRange(3, 1) withString:@"ios"];//将指定下标位置的length个字符替换为指定的字符串
iOS中的字符串NSString的更多相关文章
- iOS中计算字符串NSString的高度
根据固定宽度计算字符串高度: NSString *info = @"但是公司的高度是广东省公司的广东省高速度来开个大帅哥多撒谎个爱好就跟他说噶三公司噶是的刚好是我哥如果黑暗如果坏都干撒降低公 ...
- iOS中的字符串扫描类NSScanner
新建一个Category,命名为UIColor+Hex,表示UIColor支持十六进制Hex颜色设置. UIColor+Hex.h文件, #import <UIKit/UIKit.h> # ...
- iOS学习之字符串(NSString)的截取、匹配、分隔
截取 NSString *str1 = @"this is zero"; 1.从第三个字符开始,截取长度为2的字符串.........注:空格算作一个字符 NSString *st ...
- iOS中截取字符串指定位置
直接上代码: NSString *string = @"今天是个好日子,忘记穿秋裤了"; NSString *string1 = [];//截取掉下标7之后的字符串 NSStrin ...
- IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现
看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous---------- ...
- ios常用的字符串NSString自动释放理解
最近在做程序的时候,突然发现对于NSString的理解还是存在问题的.因此补充一片blog,希望对刚刚进入OC开发并搞不清楚内存泄露问题的人一点指引. 赋值: NSString * str = @&q ...
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转 1. 字典转Json字符串 // 字典转json字符串方法 -(NSString *)convertToJs ...
- iOS中MD5加密字符串实现
1.MD5加密 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321 ...
- Objective - C 中NSString (字符串)与C中的字符串转换问题
NSString是一个常用的类,NSString是原生支持unicode C中的字符串 比如char * a = "hello world"; 是utf8类型的, char* d ...
随机推荐
- 泛虚拟化技术(以Xen为例)
一.概述 最主要的特点是:修改Guest OS的内核代码.通过修改内核,使Guest OS明白自己是运行在R-1,不要直接去运行特权指令,如果要运行就去Hypercall(主动VMM陷入). ...
- ios9怎么设置6位密码 ios9设置6位密码图文教程
在原来的 iOS 系统中,只有四位数字密码与复杂密码之分,而在 iOS9 系统中却多出了一个六位数字密码,那ios9怎么设置6位密码,今天小编就为大家带来ios9设置6位密码图文教程 在原来的 i ...
- 云计算:创业的好时机——上海够快网络科技有限公司总经理蒋烁淼专访(评价阿里云的OSS的4个优点)(够快科技正式宣布已成功挂牌新三板)
云存储是云计算目前的热点之一,Dropbox.Box等产品的风靡,公司因此获得极高估值,都印证了这一点.但云存储对技术和资金要求都比较高,竞争也非常激烈,挑战巨大.国外云存储公司有亚马逊的云平台作为支 ...
- 解决Charles Response 中文乱码
Response中文乱码:在Info.plist 中 的vmoption 添加-Dfile.encoding=UTF-8 info.plist路径 应用程序->Charles.app->显 ...
- Hadoop学习之HBase
1. HBase有哪些基本的特征? 2. HBase相对于关系数据库能解决的问题是什么? 3. HBase的数据模型是什么?如何表述?有哪些操作形式? 4. HBase的模式Schema设计的一些概念 ...
- CodeForces 462B Appleman and Card Game(贪心)
题目链接:http://codeforces.com/problemset/problem/462/B Appleman has n cards. Each card has an uppercase ...
- QNX简介<转载>
QNX QNX是由QNX软件系统有限公司开发的实时操作系统. http://blog.csdn.net/happyhell/article/details/7087199 基本特征 * QNX是一个 ...
- 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类
在Python使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容. 下面是在Python中使用 ...
- 关于在打包Jar文件时遇到的资源路径问题(一)
当我们将程序写好,并进行打包成Jar文件时,通常都带有各种资源,这些资源可以是图像或者声音文件,也可以是别的如文本文件或二进制文件等,这些资源都和代码密切相关.例如在一个JPanel类上显示一些可能变 ...
- 【Unity 3D】学习笔记三十九:控制组件
控制组件 角色控制组件和刚体组件都具备物理引擎的功能,须要绑定游戏对象才干实现对应的物理效果,而且同一个游戏对象中两者仅仅能存在一个,不能共存.刚体组件能够很精确的模拟现实世界中的一切物理效果,而角色 ...