//
// 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字符串操作)的更多相关文章

  1. Python3学习之路~2.3 字符串操作

    字符串操作 特性:不可修改 name="my \tname is alex" print(name.capitalize()) #首字母变大写 print('Alex LI'.ca ...

  2. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. objective-C学习笔记(七) 字符串处理

    字符串NSString NSString 是一个Unicode编码,16位字符的字符序列. NSString 是一个类,拷贝时需要注意. 初始化方法:字面量初始化.初始化器.工厂方法. NSStrin ...

  4. R语言学习 第五篇:字符串操作

    文本数据存储在字符向量中,字符向量的每个元素都是字符串,而非单独的字符.在R中,可以使用双引号,或单引号表示字符. 一,字符串中的字符数量 函数nchar()用于获得字符串中的字符数量: > s ...

  5. C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)

    1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...

  6. Object-c学习之路(oc点语法)

    最近想学习object-c了自己上网找了一些资料自学了一下:oc中的点语法是为了java.c等的程序员更好的上手而添加的功能. 主函数 // // main.m // OcTest1 // // Cr ...

  7. zigbee学习之路(七):定时器3(中断方式)

    一.前言 上次我们学习了了用定时器3进行查询方式来进行溢出判断,今天我们来换一种方式,用中断方式来检测和查询定时器3的溢出. 二.原理与分析 要使用定时器3,我们必须先要配置的是T3CTL,来把定时器 ...

  8. IOS学习之路七(使用 Operation 异步运行任务)

    在 application delegate 头文件(.h)中声明一个 operation 队列和两个 invocation operations: #import <UIKit/UIKit.h ...

  9. python学习之路二(字符串,字典,序列和元组)

    # -*- coding: utf-8 -* ''' Created on 2013-7-26 @author: lixingle ''' #!/usr/bin/python import math# ...

随机推荐

  1. openssl 生成CSR

    openssl 生成CSR 2013-12-27 15:05 3699人阅读 评论(1) 收藏 举报  分类: Security(38)  C/C++(105)  版权声明:本文为博主原创文章,未经博 ...

  2. Spring-Junit4

      Spring整合Junit4测试Service 1. 加入依赖包 使用Spring的测试框架需要加入以下依赖包: JUnit 4 (官方下载:https://github.com/KentBeck ...

  3. kvm 图形化安装

    为了再后续查看方便,我还是完整的记录kvm图形化安装. 介于网络环境的原因,我选择NAT. 2,安装kvm前的准备工作 2.1 关闭防火墙  setenforce 0    vi /etc/sysco ...

  4. stagefright框架(四)-Video Buffer传输流程

    這篇文章將介紹Stagefright中是如何和OMX video decoder传送buffer. (1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且 ...

  5. global中拦截404错误的实现方法

    1. void Application_Error(object sender, EventArgs e) { if(Context != null) { HttpContext ctx = Http ...

  6. .NET Framework 4.0-RequestValidationMode

    1.WebForm 先看如下 web.config 的代码: <system.web> <compilation debug="true" targetFrame ...

  7. 使用react-native做一个简单的应用-04界面主框架

    欢迎界面搭建完毕,我们接下来需要做的就是搭建应用程序的主体框架啦.首先我们看一下首页的截图: 从图中看到,我将首页分为了三部分:用黑色矩形表示的头部,绿色表示的内容和红色表示的底部. 下面我们需要解决 ...

  8. React-Native个人信息界面

    最近在做一个小练习项目,用户登陆后需要跳转到用户登录信息界面,加班半个小时终于将界面的布局搞定.接触Rect-Native也有一段时间了,以前没有做过ios,只做过android,就布局和开发效率上来 ...

  9. EntityFramework sum嵌套

    一个查询中 用到了 sum , 可是返回结果的小数有很多位 , 都不准确了..类似js中的小数运算一样...不太熟悉C#,不知道这问题是因为double的关系 , 还是因为代码写的问题 , 通过 sq ...

  10. HDU 1056 - HangOver

    递推 #include <iostream> using namespace std; ]; double c; int main() { f[]=; ;i<=;i++) f[i]= ...