文档章节

NSString的总结(随笔)

W
 Who_Care_Who
发布于 2015/03/02 21:28
字数 861
阅读 11
收藏 0
//首先是NSString的创建方式,常用的有几种:

//1.创建常量字符串

NSString *str1 = @"this is a first style";

//2.创建格式化字符串:占位符(有一个%加一个字符组成)

NSString *_name3 = [[NSString alloc]initWithFormat:@"我爱%@",_name];//格式化输出一个字符串 ,不定参数。

NSString *p = [NSString stringWithFormat:@"sianca"];

//3.从文件创建字符串

NSString *astring = [[NSString alloc] initWithConnectOfFile:[[NSbundle mainbundle] pathForRescource:@"1.txt"ofType:nil] ecoding:NSUTF8StringEcoding error:nil];

//4.返回字符串的长度

NSUInteger p = [astring length];

//5.返回一个字符,输入此字符在字符串中得下标,注意从0开始

unichar m = [astring characterAtIndex:1];

//6.获取一个字符串的子串(不同的位置不同的方法,有一下三种)

  //首先是获取任意位置的字符串的子串
  
  NSString *substr = [astring substringWithRange:NSMakeRange(2,7)];
  
  //从一个指定位置一直到结束,且包含这个位置
  
  NSString *substr = [astring substringFromIndex:1];
  
  //从开始一个到指定的位置,但不包含这个位置
  
  NSString *substr = [astring substringToIndex:2];
  
 //7.hasPrefix判断指定的字符串是否以此字母开始  hasSuffix 判断此字符串是否是以此字母结尾
 
 NSString *ps = @"qwesdsa";
 
 BOOL bi = [ps hasPrefix:@"qw"];这个结果返回YES
 
 BOOL bj = [ps hasPrefix:@"ss"];这个结果返回NO;
 
 //8.比较两个字符串compare:如果第一个字符串大于第二个字符串返回1,等于返回0,小于返回-1  
 
     long num = [ps1 compare:ps2];这个比较不区分大小写
     
     long num1 = [ps1 caseInsensitiveCompare:ps2];这个区分大小写
     
 
     //比较两个字符串是否相等,返回一个BOOL
     
     BOOL b = [ps1 isEqualToString:ps2];
     
//9.字符串的拼接

NSString *str1 = @"hello";

NSString *str2 = @"word";

NSMutableString *str3 = [str1 stringByAppendingString:str2];

//10.输出大写或小写的字符串

NSString *str1 = @"sdaQ";

NSLog(@"str1:%@",[str1 upppercaseString])//全部大写

NSlog (@"str1:%@",[str1 lowercaseString])//全部小写

NSLog (@"str1:%@",[str1 capitalizedString])//首字母大写

//11.-rangeOfString: //查找字符串某处是否包含其它字符串

NSString *string1 = @"This is a string";
 
NSString *string2 = @"string";
 
NSRange range = [string1 rangeOfString:string2];

//12.可变字符串和不可变字符串的创建大同小异,有一个区别,如下:

NSMutableString *mstr1 = @"asdsad",mutableCopy;

//13.可变字符串的一些操作

[mstr1 appendString:@"ssasd"];//在字符串结尾增加一个字符串

[mstr1 insretString:@"sdas" atIndex:2];//在字符串第三个位置插入一个字符串

[mstr1 deleteCharacterInRange:NSMakeRange(1,3)];//删除字符串

[mstr1 replaceCharacterInRangeL:NSMakeRange(2,5) withString:@"12345"];

//14.-stringWithCapacity: //按照固定长度生成空字符串

NSMutableString *String = [NSMutableString stringWithCapacity:40];

//15. -setString 字符串的全部替代

NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
 
[String1 setString:@"Hello Word!"];
 
NSLog(@"String1:%@",String1)

//16、扩展路径

NSString *Path = @"~/NSData.txt";
 
NSString *absolutePath = [Path stringByExpandingTildeInPath];
 
NSLog(@"absolutePath:%@",absolutePath);
 
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);
 
//17、文件扩展名

NSString *Path = @"~/NSData.txt";
 
NSLog(@"Extension:%@",[Path pathExtension])

//顺便说一下description方法,description方法是基类NSObject 所带的方法,在自定义的类中,我们可以重载改方法

-(NSString *)description()
{
     return [NSString stringWithFormat:@"姓名: %@ 年龄: %d",name,age];
}

//18.下面一段代码是实现字符串首尾交换的:

NSString *str = @"xiaomingnihao";
    
    NSUInteger c = [str length];
    
    NSMutableString *mstr = [NSMutableString stringWithCapacity:c];
    
    while (c != 0)
    {
        unichar cha = [str characterAtIndex: --c];
        
        NSString *str1 = [NSString stringWithFormat:@"%C",cha];
        
        [mstr appendString:str1];
    }
    
    NSLog(@“%@",mstr);

//19.这个是这个字符串特定符号下得切割后放入数组中

  NSString *temp = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"name" ofType:@"txt"] encoding:NSUTF8StringEncoding error:nil];

  NSMutableArray  *arr = [temp componentsSeparatedByString:@"\n"].mutableCopy;


© 著作权归作者所有

共有 人打赏支持
W
粉丝 1
博文 69
码字总数 28284
作品 0
海淀
私信 提问
Objective-c类的声明

objective-c 是一种面向对象的编程语言,说到面向对象编程当然离不开类(class)了。 建立了第一个简单的项目后,我们应该继续加深我们对Objective-C语法的认识,我感觉Objective-C是回归C的...

晨曦之光
2012/05/16
314
0
[Object-C语言随笔之二] 《NSLog》常用的打印调试语句与自动排版

李华明Himi 原创,转载务必在明显处注明: 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-object/395.html 虽然C语言很早就有接触,也利用C++写过PC单机游戏,但是、...

迷途d书童
2012/03/19
0
0
知名出版社,诚招IT图书兼职作者(长期招聘)

知名出版社,诚招IT图书兼职作者(长期招聘) 我公司每年策划200本左右计算机应用,计算机开发类图书,同时也涉及用电脑炒股,手机/平板电脑深度应用,财务软件,会计,ERP等领域的书籍出版。常年需...

橙子_1123
2013/02/20
628
7
NSString内存分配与管理

NSString常用方法总结很详细:http://justcoding.iteye.com/blog/1405951 生成一个NSString类型的字符串有三种方法: 方法1.直接赋值: NSString testStr1 = @"a"; 方法2.类函数初始化生成: N...

火龙战士
2015/07/09
0
0
2018-03-26-------烦人

近来莫名其妙感觉心烦,不知道为什么,生活过着太舒适了吗? 一直想要精彩的生活,但是做什么都要付出代价的,其实快乐,高兴最好,人无远虑,必有近忧。何必让自己过着太累,现在yy的心情都...

东风冷雪
03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

pyhanlp用户自定义词典添加实例说明

pyhanlp用户自定义词典添加实例说明 pyhanlp是python版封装的的HanLP,项目地址:https://github.com/hankcs/pyhanlp 经过测试,HanLP比nltk在中文分词和实体识别方面都更好用. 如何向pyhan...

左手的倒影
14分钟前
2
0
TypeError: 'dict_keys' object does not support indexing

在python2.x中,dict.keys()返回一个列表,在python3.x中,dict.keys()返回一个dict_keys对象,比起列表,这个对象的行为更像是set,所以不支持索引的。 解决方案:list(dict.keys())[index...

张欢19933
19分钟前
3
0
【HAVENT原创】单页面站点在 Nginx 下刷新报404 的问题

AngularJS / Vue / React 前端站点如果使用了单页面模式,在开发模式下直接使用 url 路由访问是正常的,但是在 nginx 下面会直接报 404 错误。 解决方式是加入 try_files $uri $uri/ /index....

HAVENT
24分钟前
1
0
聊聊flink的FsCheckpointStreamFactory

序 本文主要研究一下flink的FsCheckpointStreamFactory CheckpointStreamFactory flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/CheckpointStreamFactory.java /**......

go4it
25分钟前
1
0
react-native-storage(数据存储)文档介绍

中文doc:仅供参考 import Storage from 'react-native-storage'; import {AsyncStorage} from 'react-native'; var storage = new Storage({ // 最大容量,默认值1000条数据循环存储 ......

凌宇之蓝
30分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部