Object-c学习之路七(oc字符串操作)
//
// main.m
// NSString
//
// Created by WildCat on 13-7-25.
// Copyright (c) 2013年 wildcat. All rights reserved.
// #import <Foundation/Foundation.h>
#pragma mark 创建字符串
void testCreat(){
NSString *str=@"你好。";
NSLog(@"str :%@",str); NSString *str2=[NSString stringWithUTF8String:"哈哈哈"];
NSLog(@"str2 :%@",str2);
NSString *str3=[[NSString alloc] initWithString:@"测试3"] ;
NSLog(@"str3 :%@",str3); } #pragma mark 字符串的搜索
void search(){ NSString *str=@"123456456.txt";
NSLog(@"是否以 123 开头:%i",[str hasPrefix:@"123"]);
NSLog(@"是否以 txt 结尾:%i",[str hasSuffix:@"txt"]); //从前向后搜索
NSRange range=[str rangeOfString:@"456"]; if (range.location==NSNotFound) {
NSLog(@"未找到");
}else{
NSLog(@"找到的范围是:%@",NSStringFromRange(range)); }
//从后向前搜索
range=[str rangeOfString:@"456" options:NSBackwardsSearch ];
NSLog(@"找到的范围是:%@",NSStringFromRange(range)); } #pragma mark 字符串截取
void mysubString(){ NSString *str=@"123456789";
//从第6个位置开始截取
NSLog(@"%@",[str substringFromIndex:6]);
//截取到第6个位置
NSLog(@"%@",[str substringToIndex:6]);
//随便截取一段字符串
NSLog(@"%@",[str substringWithRange:NSMakeRange(1, 3)]); NSString *str2=@"1-2-a-b-c";
//字符串分割
NSArray *array=[str2 componentsSeparatedByString:@"-"];
NSLog(@"%@",array);
}
#pragma mark 与路径相关
void stringWithPath(){ //快速创建一个自动释放的数组
NSMutableArray *array=[NSMutableArray array];
[array addObject:@"User"];
[array addObject:@"Wildcat"];
[array addObject:@"APP"];
//通过一个数组创建一个路径字符串
NSString *path=[NSString pathWithComponents:array];
NSLog(@"Path is:%@",path);
//把一个路径截取为数组
NSArray *apath=[path pathComponents];
NSLog(@"Array is;%@",apath); //删除最后一个目录 NSLog(@"Array is;%@",[path stringByDeletingLastPathComponent]);
//拼接一个路径
NSLog(@"Array is;%@",[path stringByAppendingPathComponent:@"123.txt"]); } #pragma mark 其他用法 void other(){
NSString *str=@"123";
int a=[str intValue];//转化为整数
NSLog(@"%i",a);
//计算字数而不是字符数
NSLog(@"length=%zi",[@"我是字符串12345" length]);
//返回对应的字符
unichar c=[@"abc123" characterAtIndex:1];
NSLog(@"第2个字符是:%c",c); //返回C语言字符串
const char *s=[@"abc" UTF8String];
NSLog(@"C语言字符串是:%s",s); } #pragma mark 主函数
int main(int argc, const char * argv[])
{ @autoreleasepool { // testCreat();
// creatWithContent();
//writeToFile();
//search();
//调用截取字符串函数
//mysubString();
//stringWithPath();
other();
}
return 0;
}
Object-c学习之路七(oc字符串操作)的更多相关文章
- Python3学习之路~2.3 字符串操作
字符串操作 特性:不可修改 name="my \tname is alex" print(name.capitalize()) #首字母变大写 print('Alex LI'.ca ...
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- objective-C学习笔记(七) 字符串处理
字符串NSString NSString 是一个Unicode编码,16位字符的字符序列. NSString 是一个类,拷贝时需要注意. 初始化方法:字面量初始化.初始化器.工厂方法. NSStrin ...
- R语言学习 第五篇:字符串操作
文本数据存储在字符向量中,字符向量的每个元素都是字符串,而非单独的字符.在R中,可以使用双引号,或单引号表示字符. 一,字符串中的字符数量 函数nchar()用于获得字符串中的字符数量: > s ...
- C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...
- Object-c学习之路(oc点语法)
最近想学习object-c了自己上网找了一些资料自学了一下:oc中的点语法是为了java.c等的程序员更好的上手而添加的功能. 主函数 // // main.m // OcTest1 // // Cr ...
- zigbee学习之路(七):定时器3(中断方式)
一.前言 上次我们学习了了用定时器3进行查询方式来进行溢出判断,今天我们来换一种方式,用中断方式来检测和查询定时器3的溢出. 二.原理与分析 要使用定时器3,我们必须先要配置的是T3CTL,来把定时器 ...
- IOS学习之路七(使用 Operation 异步运行任务)
在 application delegate 头文件(.h)中声明一个 operation 队列和两个 invocation operations: #import <UIKit/UIKit.h ...
- python学习之路二(字符串,字典,序列和元组)
# -*- coding: utf-8 -* ''' Created on 2013-7-26 @author: lixingle ''' #!/usr/bin/python import math# ...
随机推荐
- iOS 10 (X8)上CoreData的使用(包含创建工程时未添加CoreData)
1.在创建工程时未添加CoreData,后期想要使用CoreData则要在工程Appdelegate.h文件中添加CoreData库和CoreData中的通道类(用来管理类实例和CoreData之间的 ...
- 设计模式入门之职责链模式Chain Of Responsibility
//职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. //实例:申请费用的功能,不同金额的费 ...
- .Net类型与JSON的映射关系
首先谢谢大家的支持和关注.本章主要介绍.Net类型与JSON是如何映射的.我们知道JSON中类型基本上有三种:值类型,数组和对象.而.Net中的类型比较多.到底它们是如何映射的呢? 总体来讲,Json ...
- Binary Tree Level Order Traversal,Binary Tree Level Order Traversal II
Binary Tree Level Order Traversal Total Accepted: 79463 Total Submissions: 259292 Difficulty: Easy G ...
- theano安装
theano安装有两类方法,一种是自己一步步安装,还有一种是借助其他软件安装.我是安装到一半发现第二种方法的...........所以就用的第一种麻烦的办法装的,但是过程也是一种学习. 电脑:win7 ...
- ubuntu安装体验
本文记录一下昨晚及今天安装ubuntu系统的过程及体验 2016年6月13日09:36:11 更新 今天才有发现原来自己有个没填的坑 = = 那次安乌班图后第一感觉是很好用,新鲜了好几天,但是很快,新 ...
- weblogic启动时报错 java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域.这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入Perm ...
- inux中tail命令---用于查看文件内容
linux中tail命令---用于查看文件内容 最基本的是cat.more和less.1. 如果你只想看文件的前5行,可以使用head命令,如:head -5 /etc/passwd2. 如果你想查看 ...
- vs2005的MFC程序在64位机上不能运行
出现上述错误大多因为该机上没有安装vs2005程序,vs2005要运行需要一些必要的文件,没有添加到你发布的可执行文件目录下,所以程序不能运行. 解决方法: 安装目录\Microsoft Visual ...
- 抛弃QP
随着软件的慢慢进行发现QP根本无法建立多个实例,也就是无法在多个任务中同时使用QP的事件回调 架构,这点同libevent不同,最终决定放弃之,乖乖的用freeRTOS多任务方案,workin ...