NSString 基础练习:

代码:

//
// main.m
// NSStringDemo01
//
// Created by Levi on 14-3-14.
// Copyright (c) 2014年 levi. All rights reserved.
// #import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ @autoreleasepool { /*
NSString
NSArray
NSDictionary
*/
char *s = "Hello World";
NSString *str1 = @"Hello World";
NSLog(@"s is %s str1 is %@", s, str1); //NSString *str3 = [[NSString alloc] initWithString:@"Hello World"];
/* c 类型字符串转化成 oc NSString */
NSString *str2 = [[NSString alloc] initWithCString:s encoding:NSUTF8StringEncoding];
const char *p = [str2 UTF8String];
NSLog(@"str2 is %@ p is %s", str2, p); NSString *str3 = [NSString stringWithFormat:@"%s%d%c%f", "sss", 10, 'c', 3.14];
NSLog(@"str3 is %@", str3); NSString *str4 = @"10";
int a = str4.intValue;
NSLog(@"a is %d", a);
NSLog(@"strlen is %ld", str3.length); NSString *str5 = @"wahaha";
NSString *str6 = @"wahaha";
NSLog(@"cmp : %d", [str5 isEqualToString:str6]); NSString *s1 = @"My name is";
NSString *s2 = @"Levi";
NSString *s3 = @"I am 24";
NSString *s4 = [NSString stringWithFormat:@"%@ %@ %@", s1, s2, s3];
NSLog(@"%@", s4); NSString *s5 = @"145";
NSString *s6 = @"151";
int result = [s5 compare:s6];
NSString *s7 = @"NSOoerdefadfLeviadlfkj, usidfja, dfdfddl";
NSRange range = [s7 rangeOfString:@"td"];
/* 判断条件 */
NSLog(@"NSNotFount is %ld", NSNotFound); if(range.location == NSNotFound && range.length == 0)
NSLog(@"NO found!");
else NSLog(@"location is %ld length is %ld", range.location, range.length);
NSString *s8 = @"Welcome to Bejing";
NSRange range2 = {3, 6};
NSString *s9 = [s8 substringWithRange: range2];
NSLog(@"%@", s9); NSString *s10 = [s8 substringFromIndex:s8.length-6];
NSLog(@"%@", s10); NSString *s11 = @"When I was young, I loved a girl on neighbor class.";
NSRange range3 = [s11 rangeOfString:@"was"];
NSRange range4 = [s11 rangeOfString:@"girl"];
NSRange range5;
range5.length = range4.location - range3.location + range4.length;
range5.location = range3.location;
NSString *s12 = [s11 substringWithRange:range5];
NSLog(@"%@", s12); NSString *s13 = @"Welcome to Qianfeng";
NSRange range6 = [s13 rangeOfString:@"to"];
NSString *s15 = [s13 substringToIndex:range6.location-1];
NSString *s16 = [s13 substringFromIndex:range6.location+range6.length];
NSString *s14 = [NSString stringWithFormat:@"%@%@", s15, s16];
NSLog(@"%@", s14); NSString *s17 = @"Hello world";
NSRange range7 = [s17 rangeOfString:@"Hello"];
NSRange range8 = [s17 rangeOfString:@"world"];
NSString *s19 = [s17 substringWithRange:range7];
NSString *s20 = @"qianfeng";
NSString *s21 = [s17 substringWithRange:range8];
NSString *s18 = [NSString stringWithFormat:@"%@ %@ %@", s19, s20, s21];
NSLog(@"%@", s18); NSString *s22 = @"When I was young, I loved a girl on neighbor class. ";
NSRange range9 = [s22 rangeOfString:@"young"];
NSRange range10 = [s22 rangeOfString:@"girl"];
NSString *s23 = [s22 substringToIndex:range9.location];
NSString *s24 = [s22 substringFromIndex:range10.location+range10.length];
NSString *s25 = @"teacher, I rather teaching the students";
NSString *s26 = [NSString stringWithFormat:@"%@%@%@", s23,s25,s24];
NSLog(@"%@", s26);
}
return 0;
}

  

记录OC学习的一点一滴(二)的更多相关文章

  1. 记录OC学习的一点一滴(一)

    练习代码: 代码一:(面向过程的OC) // // main.m // Class01Test01 // // Copyright (c) 2014年 levi. All rights reserve ...

  2. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

  3. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  4. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  5. X-Cart 学习笔记(二)X-Cart框架1

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 四.X- ...

  6. guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用

    guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection ...

  7. Dynamic CRM 2013学习笔记(二十七)无代码 复制/克隆方法

    前面介绍过二种复制/克隆方法:<Dynamic CRM 2013学习笔记(十四)复制/克隆记录> 和<Dynamic CRM 2013学习笔记(二十五)JS调用web service ...

  8. Java学习-028-JSON 之二 -- 数据读取

    JSON数据由 JSONObject.JSONArray.key_value 组合而成.通常来说,JSONObject 可以包含 JSONObject.JSONArray.key_value:JSON ...

  9. C++Primer第5版学习笔记(二)

    C++Primer第5版学习笔记(二) 第三章的重难点内容         这篇笔记记录了我在学习C++常用基本语法的学习过程,基本只记录一些重难点,对概念的描述不是一开始就详尽和准确的,而是层层深入 ...

随机推荐

  1. Oracle查询速度慢的原因总结

    Oracle查询速度慢的原因总结 查询速度慢的原因很多,常见如下几种:1,没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2,I/O吞吐量小,形成了瓶颈效应.3,没有创建计算列导致 ...

  2. Ubuntu 14.04 grub2 温馨提示

    昨天win7在...的基础上,刚装几天发布Ubuntu14.04.Ubuntu14.04还是很不错的.但是,今天想去下一个Win7,但没有发现平时的开机显示grub2选项,直接进了Ubuntu! 我感 ...

  3. CSDN博文“待定”如何避免检测规则分析“待定”

    这些天一直很郁闷.鲍文本人一直"待定", 当然,这是非常不舒服的自己.那么今晚最终成为一个非成功出版"待定"文章,这CSDN于大家的反映而放弃了.没想到我后面又 ...

  4. ASP.NET——两个下拉框来实现动态联动

    介绍: 在网页中.我们常常会遇到下图中的情况.首先在下拉框中选择所在的省.选择之后,第二个下拉框会自己主动载入出该省中的市.这样设计极大的方便了用户的查找.那这是怎样实现的呢? 1.建立数据库 &qu ...

  5. 关于system()的一些用法

    C语库函数 函数名: system  功  能: 发出一个DOS命令  用  法: int system(char *command);  它包含头文件<stdlib.h>  system ...

  6. idea_intellij

    近期要研读和调试spark2,用eclispe据说各种问题,so还是切换到  intellij 1:下载 (官网自行下载最新版本) 2: 注册码 intellij idea 2016 activati ...

  7. 当<script>中的type等于text/html的妙用

    我们可以在<script>片断中定义一个被JS调用的代码,但代码又不在页面上显示,这时,我们可以使用下面的方法: <script id="commentTemplate&q ...

  8. 浅谈JavaScript中继承的实现

    谈到js中的面向对象编程,都有一个共同点,选择原型属性还是构造函数,两者各有利弊,而就片面的从js的对象创建以及继承的实现两个方面来说,官方所推荐的是两个相结合,各尽其责,各取其长,在前面的例子中,我 ...

  9. Android开发手册 (Android的手工教程MtAndroid开发手册)

    放出版许可协议 1.0 或者更新版本号. 未经版权全部者明白授权,禁止发行本文档及其被实质上改动的版本号.  未经版权全部者事先授权.禁止将此作品及其衍生作品以标准(纸质)书籍形式发行. 假设有兴趣再 ...

  10. CSharp设计模式读书笔记(14):职责链模式(学习难度:★★★☆☆,使用频率:★★☆☆☆)

    职责链模式(Chain of Responsibility  Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象 ...