香港博彩论坛


香港博彩论坛一个女子,一生中总会邂逅这样一个浪漫男子,倘若她只得十八九岁,可以立刻拎支牙刷跟他到雪地,正如他所说,一个月,或是一年,谁知道,能捱多久便多久,即使只身回转,也可若无其...[阅读全文]
香港博彩论坛因为他们记忆力不怎么好,总是容易把不开心的事情忘掉。
香港博彩论坛一对情侣甜蜜的在公园中依偎着,男的看到女的的头发如此柔顺。  便忍不住偷摸了一下,女的娇滴滴的说:“唉呀!讨厌啦!”  男的听了心更痒,于是又偷摸了一下,女的又说:“嗯,不要啦!”  男的一听,心都要飞起来了,又再摸了一下,突然那女的站起来,粗暴的说道:“不要摸了!我的假发都快掉了!!!”香港博彩论坛老婆被公司安排日本学习深造三个月。   有次媳妇发了一张街拍照片给我,上面P了一些日文。应该是什么景点来着,甚是漂亮。  于是我把照片上传到朋友圈炫耀下,好满足我的虚荣心。  结果下面一排溜评论:“求种子”!香港博彩论坛这年头最不缺是就是人,更不缺干活的人。实话说,活谁都能干,只是时间问题,离了谁都一样。我觉得我在这呆了两年多真的就像他们说的那样,啥也没学会,心眼长了不少么?有时候我也挺懒得挨骂的,可是骂的挺对的,我是不好,我是不学,我是赶着倒退,可我不是一无是处。
香港博彩论坛 青苍孤自赏,
香港博彩论坛 今天路过一中学,  看见体育老师带学生做操,  有一节有个下蹲动作。  然后做完就听体育老师在那儿骂:  “人家下蹲腿都并着,  你腿叉那么大,拉活呢?”香港博彩论坛正当他在苦恼着如何说服易飞,纽顿忽然笑了,笑得非常之开心!香港博彩论坛将干枯的我轻轻托起
香港博彩论坛真的不知那一段时间到底发生了什么,也不知是那一段时光我变得让你感到陌生了,还是我们的感情就如世人所说的时间是万物的催化剂,一开始越美好结局越悲催。也许,爱情就如手中沙,我们每挥霍一次所存在的美好也在一天天减少。到手中的砂砾消耗殆尽的那一刻,也就是我们分离的那一刻吧!
香港博彩论坛两道人影,自然是两个人,隔桌对峙着的两个人,一男一女。杀气,寒冰一般,外面,墨染的漆黑。男子看着女子,竹刀劈成般的眉愈加残碎。
香港博彩论坛玫瑰真便宜,都可以送老婆了。香港博彩论坛看来是烟台万华分股了。香港博彩论坛澳门现在已经不是姓何的了,可是何鸿生仍然控制着权力,尽管不如当年。

皇冠足球比分

大发论坛时时彩平台尊龙娱乐是黑网吗海天国际娱乐城注册送钱凯发娱乐乐宝娱乐城真人赌钱bodog888亚美国际娱乐城 金龙国际 www.am8.com 亚洲城娱乐 老k国际娱乐城 666k8.com 金威国际娱乐城 名人国际娱乐城 ag娱乐平台 V博娱乐城 http://tinyurl.com/pfa7ll2网站地图大发888官方网站地图亚美娱乐城注册送钱e8889.com网站地图明升国际欢迎你网站地图任你博注册送钱e8889.com网站地图7胜国际娱乐城网站地图易球娱乐城优惠活动网站地图澳门新葡京赌场网站地图888棋牌游戏网站地图澳洲国际娱乐城提款网站地图外围赌球公司网站地图国语学校网站地图功夫娱乐城网站地图立博分析网站地图博彩菠菜网大全网站地图六i合彩开奖结果网站地图

Fork me on GitHub

Objective-C学习篇06NSString与NSMutableString

NSString

  OC提供了定义字符串对象的方法,也就是将想要表达的字符串用一对双引号引起来,并在开头加上@.@是OC中的指令符,它告诉编译器@以后的内容为OC中的语法.比如@”Harbingwang”表示的是一个NSString类型的常量.

  NSString 是一个不可变的字符串类,继承自 NSObject ,用NSString创建出来的字符串对象,一经创建就不能再修改了.我们可以对它执行查找或比较等操作,但是不能通过增加,删除它的字符来动态地改变它.

  NSString主要的方法都在Foundation/NSString.h中定义的,NSString提供了很多方法的接口,但是这些方法的实现都是由内部具体实现的.下面将对NSString的主要方法进行说明:

  1. 快速创建字符串对象

NSString *str = @"叔叔约吗?";  

  2. 生成指定格式的字符串

  格式化创建字符串    initWithFormat:

  便利构造器方法创建 stringWithFormat:

    NSString *str = [[NSString alloc] initWithFormat:@"name:@ age:ld,  name, age];

    NSString *str = [NSString stringWithFormat:@"name:@ age:ld,  name, age];

     练习:将字符串@"2015.11.18"和@"2016.1.1"初始化为一个新的字符串@"2015.11.18--2016.1.1"

    NSString *date = [NSString stringWithFormat:@"@@@", @"2015.11.18", @"--", @"2016.1.1"];

     3. 将C语言中的字符串转换为OC中的字符串对象    initWithUTF8String:

NSString *str = [NSString alloc] initWithUTF8String:"iOS"];

     4. 使用文件中的文本内容以指定编码格式创建字符串对象   initWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>

     第一个参数: 文件路径

     第二个参数: 编码格式 NSUTF8StringEncoding  8位Unicode编码 适用于使用中文的编码格式

     第三个参数: 如果出错, 这个参数用来存储报错信息,一般填nil

NSString *str = [[NSString alloc] initWithContentsOfFile:@"/Users/Desktop/Product/OC/Lesson/OCLessonNSString-04/OCLessonNSString-04/Harbingwang.txt" encoding:NSUTF8StringEncoding error:nil];

  对应的便利构造器  stringWithContentsOfFile: encoding: error:

 

     5. 计算字符串的长度  length 

NSString *string = @"iPhone6splus买"; // 无论是数字,英文还是汉字,都是按一个字符来算
NSUInteger length = string.length;  //可以使用点语法
NSLog(@"lu", length);

   

  首先在这里补充两点:

  1.父串与子串的概念: A串中存在连续的多个字符和B字符串相同,A是B的父串,B是A的子串

  2. NSRang 是一个表示范围的结构体,其中包括了数据的首地址location和数据长度legth

typedef struct _NSRange {
NSUInteger location; // 起始位置
NSUInteger length;  // 从起始位置开始取多长
} NSRange;

  6.字符串的截取


substringWithRange:
// a. 返回一个新字符串,新字符串开始的位置和长度由Rang决定
NSRange rang = {12, 1}; 
NSString *string = [string substringWithRange:rang];

substringToIndex:
// b. 获取 从0开始到某个位置 的字符串,但是 不包括提供位置的字符  

NSString *substring = [string substringToIndex:5];
NSLog(@"@", substring); // 返回的是新的字符串对象.所以用 @ 占位

substringFromIndex:
// c. 获取从某个位置开始到结尾的子串,包含提供位置的字符  
NSString *substring = [string substringFromIndex:5]; 
NSLog(@"@", substring);

  7.字符串的检索

 rangeOfString:
// 返回一个新字符串,新字符串开始的位置和长度由Rang决定

NSString *string = @"iloveyou";
// 有如上字符串,想得到子串 'love'在string4中的范围
NSRange rang1 = [string rangeOfString:@"love"];
NSLog(@"lu lu", rang1.location, rang1.length);

  8.字符串的拼接

stringByAppendingFormat:   
 //格式化拼接字符串(可以拼接多个) 
NSString *string1 = @"iOS"; NSString *string2 = @"开发";
NSString *newString = [string1 stringByAppendingFormat:@"@", string2]; stringByAppendingString: // 拼接字符窜(只能拼接一个)
NSString *newString2 = [String1 stringByAppendingString:@"入门基础"];// 打印iOS入门基础

  9.字符串的替换

stringByReplacingOccurrencesOfString: withString:
// 将目标字符串从父串中替换为我们给定的字符串
// 找到目标字符串就返回,找不到就返回原串

// 例如: newString iOS开发入门基础   把 iOS 替换为 Android
NSString *newString1 = [newString2 stringByReplacingOccurrencesOfString:@"iOS" withString:@" Android"];

stringByReplacingCharactersInRange: withString:
// 根据提供的字符串范围进行替换  

NSRange rang2 = {0, 2}; NSString *newString4 = [newString3 stringByReplacingCharactersInRange:rang2 withString:@"dong"];

  10.判断

 hasPrefix:   
 // 判断一个字符串是否具有某个前缀 

NSString *str15 = @"iOS开发基础";
BOOL isHas = [str15 hasPrefix:@"iOS"];// hasPrefix返回的是一个BOOL值
NSLog(@"@", isHas ? @"有这个前缀" : @"没有这个前缀");

 hasSuffix: 
 //判断一个字符串是否具有某个后缀        

isHas = [str15 hasSuffix:@"3G学院"];
NSLog(@"@", isHas ? @"有这个后缀" : @"没有这个后缀"); 

  isEqualToString:  

   // 判断两个字符串对象是否相等

    NSString *str1 = @"iOS";

  NSString *str2 = @"开发";

    BOOL isSame = [str1 isEqualToString:str2];

    NSLog(@"@", isSame ? @"相同" : @"不相同");

    // 练习

判断字符串 @"HarbingWang"是否具有@".jpg"的后缀,如果没有就为其拼接上一个@".jpg",如果有就将@".jpg"替换为@".png"

NSString *str = @"HarbingWang";
BOOL isHasJpg = [str16 hasSuffix:@".jpg"];
NSString *newStr = isHasJpg ? [str16 stringByReplacingOccurrencesOfString:@".jpg" withString:@".png"] : [str16 stringByAppendingString:@".jpg"]; NSLog(@"@", newStr);

    11. 比较

     比较两个字符串的大小(区分大小写) compare:

     我们先来看下一下它在API中的声明:
 - (NSComparisonResult)compare:(NSString *)string;
// 返回值为: NSComparisonResult  是一个枚举类型的值,用于显示比较结果
enum {
        NSOrderedAscending = -1,    // 升序,前一个小于后一个
        NSOrderedSame,              // 相同,前后相同
        NSOrderedDescending         // 降序,前一个大于后一个
};
typedef NSInteger NSComparisonResult;
  compare方法:将接收对象和传递进来的字符串进行逐个字符比较,返回一个NSComparisonResult来显示比较的结果,如果返回的是NSOrderedAscending那么前一个数值小于后一个数值,按升序排列.
  例如:比较NBA与nba的大小
   NSString *str18 = @"NBA";
    NSString *str19 = @"nba";

    NSComparisonResult n = [str18 compare:str19];
    switch (n) {
case NSOrderedAscending: NSLog(@"@ < @", str18, str19); break; case NSOrderedSame: NSLog(@"@ == @", str18, str19); break; case NSOrderedDescending: NSLog(@"@ > @", str18, str19); break; default: break; } NSLog(@"ld", n);

    // 不区分大小写的比较 caseInsensitiveCompare:

     - (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;
     NSComparisonResult 返回值同上,为枚举值

NSComparisonResult m = [str11 caseInsensitiveCompare:str12];
NSLog(@"ld", m);  // 输出 0 表示str11和str12相同,不区分大小写,复合实际情况

 

 

 NSMutableString

  NSMutableString 可变字符串,继承自NSString,所以 NSMutableString 可以用它父类所有的实例变量和方法,该类创建的字符串是一个可变字符串,可以支持增删查改等动态操作.一般在项目开发中鼓励使用NSMutableString类

  1. 实例对象的生成和初始化  initWithCapacity:

    便利构造器方法          stringWithCapacity:

NSMutableString *mStr = [[NSMutableString alloc] initWithCapacity:0];
NSMutableString *mStr1 = [[NSMutableString stringWithCapacity:0];

  初始化一个NSMutableString类型的对象,Capacity 容量的意思,指明了要被初始化的NSMutableString对象的大小. NSMutableString的对象会随着字符串的变化而自动扩展内存,如果存放的内容小于这个空间,则可以直接放入,如果大于虚拟的空间就继续开辟新的空间.

  2. 可变字符串的快捷创建方式  .mutableCopy

NSMutableString *mStr3 = @"i am a good student".mutableCopy;   //mutableCopy将常量区的内容拷贝一份放到堆区

  3.追加字符串

  在末尾追加一个字符串        appendString:

  在末尾追加一个格式化字符串   appendFormat:

NSMutableString *mutalbeStr = [NSMutableString stringWithFormat:@"My age is 10 "];
[mutalbeStr appendString:@"11 12"]; // appendString方法没有返回值,说明是直接在str字符串后面进行拼接
NSLog(@"@",mutalbeStr); // 打印:My age is 10 11 12

// 不可变数组中也提供了拼接的方法,我们不妨对比下:
NSString *str = [NSString stringWithFormat:@"My age is 10 "];
NSString *str2 = [str stringByAppendingString:@"11 12"];
NSLog(@"@",str2);    // 打印:My age is 10 11 12

  可以看出:NSString一旦定义了str字符串它本身就不可变了,虽然NSString类方法也提供了拼接的方法如stringByAppendString方法但是它返回的是一个新的字符串。而NSMutableString提供的拼接方法appendString方法是在原有的字符串上直接拼接它没有返回值。这就是可变和不可变字符串的本质

  4. 插入字符串的方法 insertString: atIndex:

[mStr4 insertString:@"博客园" atIndex:0];

NSLog(@"@", mStr4);

  5. 根据范围删除子串 deleteCharactersInRange:

// 创建一个表示范围的结构体变量
NSRange rang3 = NSMakeRange(0, 2);
// 根据范围删除子串  deleteCharactersInRange:

[(父串) deleteCharactersInRange:rang3];
NSLog(@"@", mStr2);

  6. 给字符串对象赋值,将aString复制一份,将其设置为消息接受者的内容    setString

  7. 关于大小写

7.将字符串的每个字符全部大写  uppercaseString
//将字符串mStr3的每个字符都大写
NSString *upString = [mStr3 uppercaseString];
//可以直调用方法,也可以使用点语法
NSString *upString = mStr3.uppercaseString; 
 
8. 将字符串的每个字符全部小写  lowercaseString
NSString *lowString = mStr3.lowercaseString;

9. 将lowString的单词的首字母都大写 capitalizedString
NSString *capitonString = mStr3.capitalizedString;

 

posted @ 2015-11-30 08:22 HarbingWang 阅读(...) 评论(...) 编辑 收藏