不可变字符串NSString
/*字符串的常用方法*/
//1.通常用来把一些基本数据类型和字符串进行拼接
int a = ;
float b = 9527.0;
NSString *string = [NSString stringWithFormat:@"%d%.1f",a,b];
NSLog(@"%@",string);//95279527.0
//2.字符串的长度(空格也会计算在内)
NSString *string = @"今晚打老虎";
//NSLog(@"%lu",[string length]);
NSLog(@"%lu",string.length);//
NSString *string = @"今 晚 打 老 虎";
NSLog(@"%lu",string.length);//
//3.取子串
//3.1取后面 从index(index是下标的意思)开始取到最后(包含index)
NSString *string = @"今晚打老虎";
NSString *string2 = [string substringFromIndex:];//“今”下标为0,“打”下标为2,从下标为2的“打”开始取到最后面,即sting2 = @“打老虎”
NSLog(@"%@",string2);//打老虎
//3.2取前面 从 index为0开始取,到index止(不包含index)
NSString *string = @"今晚打老虎";
NSString *string2 = [string substringToIndex:];//从下标为0的“今”开始取,到下标为2的“打”的前一个(“晚”)止,即sting2 = @“今晚”
NSLog(@"%@",string2);//今晚
//3.3取中间 从哪个位置开始取,取多长
//创建一个NSRange
NSString *string = @"今晚打老虎";
NSRange rang = NSMakeRange(, );//从下标为2开始取,取两个(rang为结构体不需加*)
NSString *string2 = [string substringWithRange:rang];
NSLog(@"%@",string2);//打老
//4.判断一个字符串是不是以...开头或者以...结尾
NSString *string = @"今晚打老虎";
//判断是不是以“今”开头
if ([string hasPrefix:@"今"]) {
NSLog(@"是");//是
}else{
NSLog(@"不是");
}
//判断是不是以“老”结尾
if ([string hasSuffix:@"老"]) {
NSLog(@"是");
}else{
NSLog(@"不是");//不是
}
//5.字符串的拼接
NSString *string = @"赵日天";
NSString *string2 = @"今晚打老虎";
NSString *string3 = [string stringByAppendingString:string2];
NSLog(@"%@",string3);//赵日天今晚打老虎
//6.判断两个字符串是否相等
NSString *string = @"赵日天";
NSString *string2 = @"叶良辰";
if ([string isEqualToString:string2]) {
NSLog(@"相等");
}else{
NSLog(@"不相等");//不相等
}
//7.字符串的替换
NSString *string = @"我赵日天不服";
NSString *string2 = [string stringByReplacingOccurrencesOfString:@"不服" withString:@"服了"];//把“不服”替换成"服了"
NSLog(@"%@",string2);//我赵日天服了
//8.判断一个字符串中是否包含...
NSString *string = @"我赵日天不服";
NSRange range = [string rangeOfString:@"日"];
if (range.length > ) {
NSLog(@"包含");//包含
}else{
NSLog(@"不包含");
}
//9.字符串的分割
NSString *string = @"MDZZ";
NSArray *array = [string componentsSeparatedByString:@"D"];
NSLog(@"%@",array);//(M,ZZ)
NSLog(@"%@",array[]);//M
NSLog(@"%@",array[]);//ZZ
//总结:
//NSString是不可变字符串,方法都有返回值,返回值往往是字符串,也就是新生成的字符串
/*
字符串常用方法
求长度 length
判断开头结尾 hasPrefix hasSuffix
拼接 stringByAppendingString
取子串 substring...
判断是否相等 isEqualToString
截取 分割 componentsSeparatedByString
替换 stringByReplacingOccurrencesOfString
判断是否包含 rangeOfString
*/
不可变字符串NSString的更多相关文章
- OC—不可变字符串NSString
- OC字符串NSString
========================== 面向对象编程进阶和字符串 ========================== Δ一.类的设计模式—单例 [单例]程序允许过程中,有且仅有一块内存 ...
- Objective-C: 字符串NSString与NSMutableString
字符串算是OC中非常重要和常用的一部分内容,OC中的字符串与我之前在学习C,C++,Java中的字符串有一定的不同,它非常类似于C++中容器的概念,但用法却与之还是有很大的不同,也许是因为OC的语法就 ...
- 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...
- IOS 学习笔记 2015-03-24 OC-API-不可变字符串
大部分是模仿// // main.m // OC-API-不可变字符串 // // Created by wangtouwang on 15/3/25. // Copyright (c) 2015年 ...
- OC之字符串 NSString与NSMutableString
一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *str1=@"hello"; 字符串对象的输出格式:NSLog(@" ...
- oc基础 不可变字符串的创建和使用
oc基础 不可变字符串的创建和使用 简介:下面都是字符串基本用法. 1.字符串的创建 //创建oc常量字符串 NSString *str=@"hello world!"; NSL ...
- iOS中的字符串NSString
创建一个字符串对象: NSstring * str1 = @"hello world"; NSString * str = [[NSString alloc]initWithStr ...
- iOS不可变字符串的所有操作
可以直接复制代码即可运行看看结果,方便理解 //NSString //OC字符串不能用printf输出 //但是遗憾的是OC没有一个从终端读取数据的方式,需要使用scanf读取C字符串然后转换成OC的 ...
随机推荐
- Tomcat端口被占用错误
所报错误: 严重: Error initializing endpointjava.lang.Exception: Socket bind failed: [730013] ????????????? ...
- sql 比模糊查询速度快的查询方法
INSTR方法: 1:查询TM不包括大学的所有结果集 SELECT TM, ID FROM X_1459307704859 WHERE instr(TM, '大学') = 0; 2:查询TM所有包含大 ...
- App提交iTunes Connect,"二进制无效"问题解决方案。
昨天提交打包提交App,将包上传到iTunes Connect之后,以为就能发布了,便点击构建版本,发现没有刚刚上传的包,于是就点击"预发行"看一下,会看到"已上传&qu ...
- ACM 计算几何中的精度问题(转)
http://www.cnblogs.com/acsmile/archive/2011/05/09/2040918.html 计算几何头疼的地方一般在于代码量大和精度问题,代码量问题只要平时注意积累模 ...
- 【poj2096】Collecting Bugs
题目描述 Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other materia ...
- Linux进程间通信(七):消息队列 msgget()、msgsend()、msgrcv()、msgctl()
下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处.有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信 -- 使用命名管道 一.什么是消息队列 消息队列提 ...
- JAVA设计模式--单例模式
单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点. 核心知识点如下: (1) 将采用单例 ...
- IE 8 下的 box-sizing 和 min-* 属性
在非 IE 浏览器中,默认情况下 width 属性指的是内容区域(content)的宽度. IE 6+ 中,如果浏览器以标准模型渲染,和非 IE 浏览器的表现是一致的:如果浏览器以怪癖模式渲染,则 w ...
- Codeforces VK CUP 2015 D. Closest Equals(线段树+扫描线)
题目链接:http://codeforces.com/contest/522/problem/D 题目大意: 给你一个长度为n的序列,然后有m次查询,每次查询输入一个区间[li,lj],对于每一个查 ...
- 设计模式--工厂模式Factory(创建型)
工厂模式属于创建型模式,分为三类,简单工厂模式.工厂方法模式.抽象工厂模式. 一.简单工厂模式 在工厂中做判断,根据产品类型从而创造相应的产品,当增加新产品时需要修改工厂类. 例如: enum CTY ...