//
// main.m
// 6NSString
//
// Created by 4_5 on 13-8-18.
// Copyright (c) 2013年 南阳理工学院. All rights reserved.
//
//字符串为我们封装了许多可以直接拿来用的方法 比如, 获取字符串的长度,字符串的比较,字符串的拼接,查找,截取等
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSString *string1 =@ "999" ;
NSString *string2 = @"888" ;
int int1 = [string1 intValue] ; //把字符串型的转换成int型的
int int2 = [string2 intValue] ;
int result ;
result =int1 - int2 ;
NSString *resultString = [NSString stringWithFormat:@"%d",result] ;
NSLog(@"result = %d,resultString = %@",result,resultString);
unsigned long strlength1 = [string1 length] ;//如果定义成int型的就会出现警告 因为length的返回类型就是unsigned 也可以写成 NSUInteger
unsigned long strlength2 = [string2 length] ;
unsigned long resultlength = [resultString length] ;
NSLog(@"strlength1 = %ld,strlength2 = %ld,resultlength = %ld",strlength1 ,strlength2,resultlength) ;
}
NSString *str3 = @"hello world" ;
NSString *str4 = [NSString stringWithFormat:@"hello world"] ;
NSString *str5 = [NSString stringWithString:@"hello world"] ;//是一个浅拷贝,源对象与拷贝对象共用一个实体 ,只是变量名不同而已
if([str3 isEqualToString:str4])
{
NSLog(@"str3 and str4字符串内容相等");
}
if (str3==str4) {
NSLog(@"str3 and str4字符串指针相等");
}
if ([str3 isEqualToString:str5]) {
NSLog(@"str3 and str5字符串内容相等");
}
if (str3==str5) {
NSLog(@"str3 and str5字符创指针相等") ;
}
//字符串的比较
//-(NSComparisonResult*)compare:(NSString*)astring 改方法比较字符串时区分大小写
// -(NSComparisonResult*)compare:(NSString *)astring options:(NSStringCompareOptions)mask
//改方法在比较字符串是可以加一些额外控制选项
//NSComparisonResult是一个枚举类型的
NSString *str6 = @"hello" ;
NSString *str7 = @"Hello" ;
switch ([str6 compare:str7]) {
case NSOrderedAscending:
NSLog(@"升序是%ld",NSOrderedAscending) ;
break;
case NSOrderedDescending:
NSLog(@"降序是%ld",NSOrderedDescending) ;
break ;
case NSOrderedSame:
NSLog(@"相等时%ld",NSOrderedSame) ;
break ;
default:
break;
}
//字符串的查找与截取
NSString *str8 = @"ios-45.doc" ;
if ([str8 hasPrefix:@"ios"]) {
NSLog(@"本字符串是以ios开头的");
}
if ([str8 hasSuffix:@".doc"]) {
NSLog(@"本字符串是以doc结尾的");
}
char c = [str8 characterAtIndex:2] ;//索引从0开始
NSString *fromString = [str8 substringFromIndex:5] ;//从第5个到最后
NSString *toString = [str8 substringToIndex:5] ;//从开始到第5个不包括第五个
NSString *rangeString = [str8 substringWithRange:NSMakeRange(3, 5)] ;//从第3个数取出5个字符
NSLog(@"c= %c,from = %@,to = %@,range = %@",c,fromString,toString,rangeString) ;
//字符串的替换,可变数组可以在原数组的基础上进行修改,不可变数组返回的是一个新的数组,原数组没有改变
NSString *oldstring = @"hello" ;
NSString *newString = [oldstring stringByReplacingOccurrencesOfString:@"h" withString:@"g"] ;
NSLog(@"newString = %@",newString);
return 0;
}