nsstring_nsstring *urlstring =-程序员宅基地

技术标签: nsstring  iOS  

本文转自

http://blog.csdn.net/amdbenq/article/details/7869166

//url转string

NSString *str1 = [URL absoluteString]; 

/将str的最后一个字符去,如果是存储的汉字,要-2,因为汉字占用2个字节。

str = [str substringToIndex:[str length] - 1];

//1、创建常量字符串。
    NSString *astring = @"This is a String!";

 

//2、创建空字符串,给予赋值。

    NSString *astring = [[NSString alloc] init];
    astring = @"This is a String!";
    NSLog(@"astring:%@",astring);
  [astring release];

 

//3、在以上方法中,提升速度:initWithString方法

    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    [astring release];

 

 //4、用标准c创建字符串:initWithCString方法

    char *Cstring = "This is a String!";
    NSString *astring = [[NSString alloc] initWithCString:Cstring];
    NSLog(@"astring:%@",astring);
    [astring release];

 

//5、创建格式化字符串:占位符(由一个%加一个字符组成)

    1):这类方法称为简便(convenience)方法或工厂方法,并且返回自动释放的对象,使用了自动释放池

    int i = 1;
    int j = 2;
    NSString *astring = [NSString stringWithFormat:@"%d.This is %i string!",i,j];
    NSLog(@"astring:%@",astring);
   

    2):这类方法虽然代码复杂一些,但性能比简便方法好

    int i = 1;
    int j = 2;
    NSString *astring = [[NSString alloc] initWithFormat::@"%d.This is %i string!",i,j];

    NSLog(@"astring:%@",astring);

    [astring release];

//6、创建临时字符串

    NSString *astring;
    astring = [NSString stringWithCString:"This is a temporary string"];
    NSLog(@"astring:%@",astring);


    NSString *path = @"astring.text";
    NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
    NSLog(@"astring:%@",astring);
    [astring release];


    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    NSString *path = @"astring.text";    
    [astring writeToFile: path atomically: YES];
    [astring release];

//用C比较:strcmp函数

    char string1[] = "string!";
    char string2[] = "string!";
    if(strcmp(string1, string2) = = 0)
    {
        NSLog(@"1");
    }

 

 

//isEqualToString方法    
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 isEqualToString:astring02];
    NSLog(@"result:%d",result);

 

 //compare方法(comparer返回的三种值)    
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";    
    BOOL result = [astring01 compare:astring02] = = NSOrderedSame;    
    NSLog(@"result:%d",result);    


//NSOrderedSame 判断两者内容是否相同

    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"this is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;    

    NSLog(@"result:%d",result);


//NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)

    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;    
    NSLog(@"result:%d",result);     


    //NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

//不考虑大 小写比较字符串1
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;    
    NSLog(@"result:%d",result);     


    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

//如何判断字符串为空

NSString *urlString = [urlInput stringValue];

 
if (!urlString) { 
 
 
NSLog( @”NO INPUT.” );

 
} else { 
 
if ([urlString length] == 0 ) {

 
NSLog( @”NO INPUT.” );

 
} else {

 
}

 

 

 

Convert NSString to int

1 NSString *aNumberString = @"123";
2 int i = [aNumberString intValue];

 

Convert int to NSString

1 int aNumber = 123;
2 NSString *aString = [NSString stringWithFormat:@"%d", aNumber];



NSString方法
+(id) stringWithContentsOfFile:path encoding:enc error:err
创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误
+(id) stringWithContentsOfURL:url encoding:enc error:err
创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误
+(id) string
创建一个新的空字符串
+(id) stringWithString:nsstring
创建一个新的字符串,并将其设置为nsstring
-(id)initWithString:nsstring
将分配的字符串设置为nsstring
-(id) initWithContentsOfFile:path encoding:enc error:err
将字符串设置为path制定的文件的内容
-(id) initWithContentsOfURL:url encoding:enc error:err
将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误
-(id) (UNSIgned int)length
返回字符串中的字符数目
-(unichar)characterAtIndex:i
返回索引i的Unicode字符
-(NSString *)substringFromIndex:i
返回从i开始知道结尾的子字符串
-(NSString *)substringWithRange:range
根据指定范围返回子字符串
-(NSString *)substringToIndex:i
返回从该字符串开始到索i的子字符串
-(NSComparator *)caseInsensitiveCompare:nsstring
比较两个字符串,忽略大小写
-(NSComparator *)compare:nsstring
比较两个字符串
-(BOOL)hasPrefix:nsstring
测试字符串是否以nsstring开始
-(BOOL)hasSuffix:nsstring
测试字符串是否以nsstrng结尾
-(BOOL)isEqualToString:nsstring
测试两个字符串是否相等
-(NSString *) capitalizedString
返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)
-(NSString *)lowercaseString
返回转换为小写的字符串
-(NSString *)uppercaseString
返回转换为大写的字符串
-(const char*)UTF8String
返回转换为UIF-8字符串的字符串
-(double)doubleValue
返回转换为double的字符串
-(float)floatValue
返回转换为浮点值的字符串
-(NSInteger)integerValue
返回转换为NSInteger整数的字符串
-(int)intValue
返回转换为整数的字符串


NSMutableString方法
+(id) stringWithCapacity:size
创建一个字符串,初始包含size的字符
-(id) initWithCapacity:size
使用初始容量为size的字符串来初始化字符串
-(void) setString:nsstring
将字符串设置为nsstring
-(void) appendString:nsstring
在接收者的末尾附加nsstring
-(void) deleteCharactersInRange:range
删除指定range中的字符
-(void) insertString:nsstring atIndex:i
以索引i为起始位置插入nsstring
-(void) replaceCharactersInRange:range withString:nsstring
使用nsstring替换range指定的字符
-(void) replaceOccurrencesOf
String:nsstring withString:
nsstring2 options:opts range:range

根据选项opts。使用指定range中 的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾开始搜 索)NSAnchoredSearch(nsstring必须匹配范围的开始),NSLiteralSearch(执行逐字节比较以及 NSCaceInsensitiveSearch的按位或组合)




NSMutableString  

[aString substringToIndex:([aString length]-1)];//字符串删除最后一个字符

//字符串删除最后一个字符

 NSRange range = {0,1};

 [aStr deleteCharactersInRange:range];


NSString是不可变的,意思是他声明的对象我们不可以改变,如果要改变,可以使用它的子类:NSMutableString

 

你可以使用类方法:stringWithCapacity来创建一个新的NSMutableString,声明如下:

 

*  (id) stringWithCapacity: (unsigned) capacity:

 

可按如下方法声明一个新的可变字符串:

NSString *str1;

Str1 = [NSMutableString stringWithCapacity:42];

 

可以使用appendString或appendFormat来对可变字符串操作:

  - (void)appendString: (Nsstring *) aString;

  -  (void) appendFormat: (NSString *) Format;

 

appendString 接受参数aString,然后将其复制到接受对象的末尾。

appendFormat类似,他将格式化的字符串附加在接受对象的末尾,而不是创建新的对象。

 

EXP:

NSMutableString *string;

string = [NSMutableString stringWithcapacity:50];

[string appendString: @”hello,there”];

[string appendFormat: @”human %d!”, 39];

 这段代码的string最后被赋值为:hello,there human 39!

 

你还可以使用deleteCharactersInRange:方法来删除字符串中的字符:

- (void) deleteCharactersInRange: (NSRange) range;

 

通常将deleteCharactersInRange: 和rangeOfString:连在一起使用,NSMutableString可以使用NSString的全部功能,包括rangeOfString:、字符串比较和其他任何功能。

 

例如,你列了一个所有朋友列表,你突然又不喜欢Jack了,想把他从朋友列表里删除:

 

//朋友列表初始化

NSMutableString *friends;

friends = [NSMutableString stringWithcapacity: 50];

[friends appendString: @”level fang jack even”];

 

//找到jack并且删除

NSRange jackRange;

jackRange = [friends rangeOfString: @”jack”];

jackRange.length++; //eat the space that follows

[friends deleteCharactersInRange: jackRange];

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lwq421336220/article/details/8645904

智能推荐

Prometheus-监控ICMP/TCP一:安装与配置_prometheus ping-程序员宅基地

文章浏览阅读6.6k次。Prometheus监控_prometheus ping

mybatis plus 条件构造器 queryWrapper、updateWrapper_mybatisplus querywrapper updatewrapper-程序员宅基地

文章浏览阅读3.6k次,点赞2次,收藏17次。一、条件构造器关系介绍wapper介绍 :Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询WrapperLambdaUpdateWrappe_mybatisplus querywrapper updatewrapper

JavaScrip笔记 DOM-程序员宅基地

文章浏览阅读55次。JavaScrip笔记 DOM新建模板小书匠三、DOM1、概念所谓DOM,全称 Docuemnt Object Model 文档对象模型,毫无疑问,此时要操作对象,什么对象?文档对象。在文档中一切皆对象,比如html,body,div,p等等都看做对象,那么我们如何来点击某个盒子让它变色呢?DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作..._创建弹出模态框的相关dom对象

多线程相关实例(多线程经典应用场景)_多线程的应用场景-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏217次。转载,from 网络,未能找到原创人员,只找到一个二手转载 https://blog.csdn.net/u013521220/article/details/79648270一.相关知识:Java多线程程序设计到的知识:(一)对同一个数量进行操作(二)对同一个对象进行操作(三)回调方法使用(四)线程同步,死锁问题(五)线程通信等等二.示例一:三个售票窗口同时出售20张票;程序分析:1.票数要使用同一个静态值2.为保证不会出现卖出同一个票数,要java多线程同步锁。设计思路:1.创._多线程的应用场景

Android Application详解_android application-程序员宅基地

文章浏览阅读1.2k次。来自: http://www.linuxidc.com/Linux/2012-06/63934.htm(有修改)Android中用Application类实现全局变量What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建_android application

STM32 10个工程篇:1.IAP远程升级(五)-程序员宅基地

文章浏览阅读2.1k次,点赞6次,收藏5次。最后如图5所示是串口解析函数,这个函数主要把串口DMA空闲中断收到的报文数据(报头正确)进行解析,函数先进行了CRC校验判断,如果CRC校验错误直接发送“-error”报文上位机收到立刻显示错误,如果CRC校验正确则进行下一轮判断:对于命令码“00”则为BOOT检测命令,下位机收到后即可返回“+right”并直接置位Flag_Start为Jump_Boot,上位机收到即可显示正确;对于命令码“01”则为APP跳入命令,这里直接置位Flag_Start为Jump_App即可,详细过程放在下一篇博客展开讲解。_iap远程升级

随便推点

【甘道夫】NN HA 对于 Client 透明的实验-程序员宅基地

文章浏览阅读124次。之前转载过一篇【伊利丹】写的NN HA实验记录。该博客描写叙述了主备NN透明切换的过程,也就是说,当主NN挂掉后,自己主动将备NN切换为主NN了,Hadoop集群正常执行。今天我继续做了一个实验。目的是实现NN的切换不会对Client端程序造成影响,即NN切换对Client透明。首先,非常重要的一点:..._nnha

springboot+mysql校园疫情防控系统的设计与实现-计算机毕业设计源码93033-程序员宅基地

文章浏览阅读93次。前台用户可分为未注册用户需求和已注册用户需求。未注册用户的功能如下:注册账号:用户填写个人信息,并验证手机号码。浏览公告数据:用户可以浏览主页面的公告数据来了解系统的最新公告数据。已注册用户的功能如下:登录:根据账号密码进行登录操作。维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。场所打卡:用户根据自己的需求进行场所打卡操作。数据上报:用户可以上传数据信息。通行验证:用户根据自己的需求进行通行验证操作。

基于SpringBoot+MySQL+SSM+Vue.js的人力资源管理系统(附论文)-程序员宅基地

文章浏览阅读352次,点赞3次,收藏4次。基于SpringBoot+MySQL+SSM+Vue.js的人力资源管理系统(附论文),用户,管理员角色等(具体看下演示视频提供)。随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于java web的中小型人力资源管理系统的开发全过程。通过分析基于java web的中小型人力资源管理系统管理的不足,创建了一个计算机管理基于java web的中小型人力资源管理系统的方案。文章介绍了基于java web的中小型人力资源管理系统的系统分析部分,包括可行性分析等,系统

如何评价cisp-pte证书?_cise-pte,2024年最新腾讯Golang面试题目-程序员宅基地

文章浏览阅读591次,点赞8次,收藏20次。但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

离心泵水力设计——叶轮设计——3 中间流线_叶轮中间流线matelab代码-程序员宅基地

文章浏览阅读1.2w次,点赞25次,收藏36次。1 叶轮设计计算1.10 绘制轴面流线按照一元理论,速度沿同一过水断面均匀分布,这样只要把总的过水断面分成3~5个相等的小过水断面即可。为简单起见,这里仅划分3个,即前盖板、后盖板和中间流线。需要特别注意的是前面提到的中间流线与流道中线的区别,流道中线是内切圆圆心的拟合曲线,而中间流线则是把==过流断面(空间上是个曲面圆环,轴面投影上是个圆弧)==分成了面积相等的两部分的各个点的拟合线。对..._叶轮中间流线matelab代码

GEE图表——利用NOAA气象数据绘制气温预测图_gee处理noaa气象数据-程序员宅基地

文章浏览阅读368次。气象预测是通过气象数据和模型对未来某一时间和地点的天气情况进行预测。具体步骤如下:1. 数据采集:从气象观测站、卫星等获取气象数据,包括气压、水汽、风速、温度、降雨、云量等。2. 数据清洗:对采集到的数据进行质量检查、处理和筛选,去除异常数据和不合理数据。3. 数据处理:将清洗后的数据通过插值、平滑等方法处理成空间和时间上连续的气象场。4. 模型选择:根据预测的时间范围、区域和目的,选择合适的气象模型,如数值天气预报模型、统计预报模型等。_gee处理noaa气象数据

推荐文章

热门文章

相关标签