您的位置:首页 > 其它

OC之NSString2

2015-08-10 22:36 393 查看
//

// main.m

// 0810OCNSString

//

// Created by weibiao on 15-8-10.

// Copyright (c) 2015年 weibiao. All rights reserved.

//

#import <Foundation/Foundation.h>

//字符串操作
void test1(){

char *str1 = "C string";//这是C语言创建的字符串

NSString *str2 =@"OC string";//Objc字符串需要加@,并且这种方式创建的对象不需要自己释放内存

//下面的创建方法都应该释放内存

NSString *str3 = [[NSString
alloc] init];
str3 =
@"OC string";

NSString *str4 = [[NSString
alloc] initWithString:@"objective-c string"];

NSString *str5 = [[NSString
alloc]
initWithFormat:@"age is %i,name is %.2f",19,1.72f];

NSString *str6 = [[NSString
alloc] initWithUTF8String:"C string"];//c语言的字符串转换为objc字符串



//以上方法都有对应的静态方法(一般以string开头),不需要管理内存(系统静态方法一般都是自动释放)

NSString *str7 = [NSString
stringWithString:@"objective-c string"];


}

void test2(){

NSLog(@"\"hello world!\" to upper is %@",[@"hello world!"
uppercaseString]);//结果:以大写输出

NSLog(@"\"HELLO WORLD!\" to lower is %@",[@"HELLO WORLD!"
lowercaseString]);//小写输出



//首字母大写,其他字母小写

NSLog(@"\"Hello world!\" to capitalize is %@",[@"Hello world!"
capitalizedString]);



BOOL result = [@"abc"
isEqualTo:@"aBc"];

NSLog(@"%i",result);//结果:0



NSComparisonResult result2 = [@"abc"
compare:@"aBc"];//如果是[@"abc" caseInsensitiveCompare:@"aBc"]则忽略大小写比较

if (result2==NSOrderedAscending){

NSLog(@"left<right.");
}

else
if (result2==NSOrderedDescending){

NSLog(@"left>right.");
}

else if (result2==NSOrderedSame){

NSLog(@"left=right.");
}

//结果:left>right.


}

void test3(){

NSLog(@"has prefix ab? %i",[@"abcdef"
hasPrefix:@"ab"]);

//结果:has prefix ab? 1

NSLog(@"has suffix ab? %i",[@"abcdef"
hasSuffix:@"ef"]);

//结果:has suffix ab? 1

NSRange range = [@"abcdefabcdef"
rangeOfString:@"ef"];//注意如果遇到cde则不再往后面搜索,如果从后面搜索或其他搜索方式可以设置第二个options参数

if (range.location ==
NSNotFound){

NSLog(@"not Found");
}else{

NSLog(@"range is %@",NSStringFromRange(range));

}//结果:range is {2,3}
}

//字符串分割
void test4(){

NSLog(@"%@",[@"abcdef"
substringFromIndex:3]);//从第三个索引开始(包括第三个索引对应的字符)截取到最后一位

//结果:def

NSLog(@"%@",[@"abcdef"
substringToIndex:3]);//从0开始截取到第三个索引(不包括第三个索引对应的字符)

//结果:abc

NSLog(@"%@",[@"abcdeg"
substringWithRange:NSMakeRange(2,
3)]);

//结果:cde

NSString *str1 = @"12.abcd.3a";

NSArray *array1 = [str1
componentsSeparatedByString:@"."];//字符串分��

NSLog(@"%@",array1);

// 结果:

// 12,

// abcd,

// 3a
}

//其他操作
void test5(){

NSLog(@"%i",[@"12"
intValue]);//类型转换

//结果:12

NSLog(@"%zi",[@"hello world,世界你好!"
length]);

//结果:17

NSLog(@"%c",[@"abc"
characterAtIndex:0]);

//结果:a

const char *s = [@"abc"
UTF8String];//转换为C语言字符串

NSLog(@"%s",s);

//结果:abc


}
int main(int argc,
const char * argv[]) {



test1();

test2();

test3();

test4();

test5();





return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: