记录OC学习的一点一滴(二)
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学习的一点一滴(二)的更多相关文章
- 记录OC学习的一点一滴(一)
练习代码: 代码一:(面向过程的OC) // // main.m // Class01Test01 // // Copyright (c) 2014年 levi. All rights reserve ...
- IOS开发-OC学习-常用功能代码片段整理
IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- Hibernate学习笔记(二)
2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...
- X-Cart 学习笔记(二)X-Cart框架1
目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 四.X- ...
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection ...
- Dynamic CRM 2013学习笔记(二十七)无代码 复制/克隆方法
前面介绍过二种复制/克隆方法:<Dynamic CRM 2013学习笔记(十四)复制/克隆记录> 和<Dynamic CRM 2013学习笔记(二十五)JS调用web service ...
- Java学习-028-JSON 之二 -- 数据读取
JSON数据由 JSONObject.JSONArray.key_value 组合而成.通常来说,JSONObject 可以包含 JSONObject.JSONArray.key_value:JSON ...
- C++Primer第5版学习笔记(二)
C++Primer第5版学习笔记(二) 第三章的重难点内容 这篇笔记记录了我在学习C++常用基本语法的学习过程,基本只记录一些重难点,对概念的描述不是一开始就详尽和准确的,而是层层深入 ...
随机推荐
- JS数据绑定模板artTemplate试用
之前写JS绑定数据曾经用过tmpl库,虽然功能比较强大但是感觉不是很轻量,对于相对简单的数据需求显得有些臃肿.而Ajax返回数据自己拼接html的方式又显得不够高端,因此今天看了一篇介绍artTemp ...
- 以正确的方式开源 Python 项目(转)
大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清晰和无痛.我不是简单的指——“创建一个GitHub库,提 ...
- 【C++】智能指针auto_ptr简单的实现
//[C++]智能指针auto_ptr简单的实现 #include <iostream> using namespace std; template <class _Ty> c ...
- 基于PHP的crontab定时任务管理
BY JENNER · 2014年11月10日· 阅读次数:6 linux的crontab一直是server运维.业务开展的利器.但当定时任务增多时,管理和迁移都变得非常麻烦,并且easy出问题.以下 ...
- C#格式化字符串中转义大括号“{}”
原文:C#格式化字符串中转义大括号"{}" 今天,用C#写程序操作Excel,读取单元格内容根据所需格式生成字符串,使用String.Format(string format,ob ...
- 浅谈数据结构之KMP(串中的模式匹配算法)
KMP算法是一种模式匹配算法的改进版,其通过减少匹配的次数以及使主串不回朔来减少字符串匹配的次数,从而较少算法的相应代价,但是,事件万物是普遍归中的,KMP算法的有效性也是有一定的局限的,我将在本文的 ...
- Node.js v0.10.31API手工-DNS
原版的API品种,这是从以前的翻译和翻译风格不同 Node.js v0.10.31API手冊-文件夹 DNS 使用 require('dns') 引入此模块. dns 模块中的全部方法都使用了 C-A ...
- Visio Premium 2010钥匙+激活破解方法
Visio Premium 2010钥匙+激活破解方法: 安装时能够使用的关键: GR24B-GC2XY-KRXRG-2TRJJ-4X7DC VWQ6G-37WBG-J7DJP-CY66Y-V278X ...
- linux_创建用户_copy远程文件_解压缩_执行
查看历史命令: history 创建用户: sudo useradd -m -s /bin/bash cph [会自动创建cph文件夹,并将才cph文件夹权限和组设为cph] 创建用户密码: pas ...
- Linux线程 之 线程 线程组 进程 轻量级进程(LWP)
Thread Local Storage,线程本地存储,大神Ulrich Drepper有篇PDF文档是讲TLS的,我曾经努力过三次尝试搞清楚TLS的原理,均没有彻底搞清楚.这一次是第三次,我沉浸gl ...