#import <Foundation/Foundation.h>
void initString()
{
NSString* str1= @"abc";
NSString* str2 = [[NSString alloc]init];
str2 = @"123";
//90%以上的情况都可以使用initwithFormat函数初识话字符串
NSString* str3 = [[NSString alloc]initWithFormat:@"my age is %d",24];
NSLog(@"str3 = %@",str3);
//通过C字符串“123”来初始化一个NSString对象
NSString* str4 = [[NSString alloc]initWithCString:"你好" encoding:NSUTF8StringEncoding];
NSLog(@"str4 = %@",str4);
NSString* str5 = [[NSString alloc]initWithUTF8String:"878787878"];
NSLog(@"str5 = %@",str5);
//通过以前已经有的字符串创建一个新的字符串
NSString* str6 = [[NSString alloc]initWithString:str3];
NSLog(@"str6 = %@",str6);
NSString* str7 = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com"] encoding:NSUTF8StringEncoding error:Nil];
NSLog(@"str7 = %@",str7);
}
//使用类方法初始化
void initStaticString()
{
//类方法创建
NSString* str1 = [NSString stringWithString:@"1111"];
//格式化类方法
NSString* str2 = [NSString stringWithFormat:@"格式%d",24];
//UTF8类初始化
NSString* str3 = [NSString stringWithUTF8String:"1245657"];
//通过C字符串以及相应编码格式
NSString* str4 = [NSString stringWithCString:"C字符串" encoding:NSUTF8StringEncoding];
NSString* str5 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com"] encoding:NSUTF8StringEncoding error:nil];
NSLog(@"str1 = %@",str1);
NSLog(@"str2 = %@",str2);
NSLog(@"str3 = %@",str3);
NSLog(@"str4 = %@",str4);
NSLog(@"str5 = %@",str5);
}
void findString()
{
NSString* str = [[NSString alloc]initWithFormat:@"This is my first OC program"];
//获取字符串中得一个子字符串
//从字符开始部分开始计算,截取到参数缩指向位置索引
//字符串索引从0开始,截取到参数缩指向位置
//不包括参数所在位置,只到前一个位置的字符
NSString* subStr1 = [str substringToIndex:4];
NSLog(@"subStr1 = %@",subStr1);
//从索引位置开始截取直到结尾
NSString* subStr2 = [str substringFromIndex:11];
NSLog(@"subStr2 = %@",subStr2);
//声明范围结构体
NSRange range = NSMakeRange(5, 11);
NSString* subStr3 = [str substringWithRange:range];
NSLog(@"subStr3 = %@",subStr3);
//获得一个字符串在另一个字符串中得位置
NSRange rangeSub = [str rangeOfString:@"This"];
//如果rangeSub.length=0 代表没找到字符串
NSLog(@"range.location = %ld",rangeSub.location);
NSLog(@"range.length = %ld",rangeSub.length);
NSString* subStr4 = [str substringWithRange:rangeSub];
NSLog(@"subStr4 = %@",subStr4);
}
void mulString()
{
//创建一个可变更字符串
//创建一个可变更字符串,预留空间为n个空间
NSMutableString* mStr = [[NSMutableString alloc]initWithCapacity:0];
//在字符串后面添加字符串
[mStr appendString:@"This is Apple abc abc abc"];
NSLog(@"mStr = %@",mStr);
//在原有的字符串后面添加格式化字符串
[mStr appendFormat:@"\n my age is %d\n" ,24];
NSLog(@"mStr = %@",mStr);
//插入一个字符串
//参数以表示要嵌入的字符串
//参数二表示要嵌入的字符串的起始位置
[mStr insertString:@"1111\n" atIndex:0];
NSLog(@"mStr = %@",mStr);
//通过制定范围删除一个子字符串
NSRange rangeDelete = NSMakeRange(0, 5);
[mStr deleteCharactersInRange:rangeDelete];
NSLog(@"mStr = %@",mStr);
//通过指定的范围来替换相应的子字符串
NSRange rangeReplace = NSMakeRange(0, 4);
[mStr replaceCharactersInRange:rangeReplace withString:@"That"];
NSLog(@"mStr = %@",mStr);
while (true) {
NSRange range = [mStr rangeOfString:@"abc"];
if (range.length == 0) {
break;
}
[mStr replaceCharactersInRange:range withString:@"cba"];
}
//字符串的长度
// [mStr length];
NSLog(@"mStr = %@",mStr);
}
void stringOther()
{
NSMutableString* str = [[NSMutableString alloc] initWithFormat:@"This is my program"];
//转成大写
NSString* upStr = [str uppercaseString];
NSLog(@"upStr = %@",upStr);
NSString* lowerStr = [str lowercaseString];
NSLog(@"lowerStr = %@",lowerStr);
NSString* capitalStr = [str capitalizedString];
NSLog(@"capitalStr = %@",capitalStr);
NSLog(@"str = %@",str);
//判断一个字符串是否含有某种前缀
NSString* strURL = @"http://www.baidu.com";
BOOL isHasPrefix = [strURL hasPrefix:@"http://"];
if (isHasPrefix == YES) {
NSLog(@"这是一个网址链接!!!");
}
//判断一个字符串是否含有某种后缀
BOOL isHasPos = [strURL hasSuffix:@".mp3"];
if (isHasPos == NO) {
NSLog(@"这不是一个有效的Mp3链接!!!");
}
NSString* str1 = [[NSString alloc]initWithFormat:@"adc"];
NSString* str2 = @"abc";
//常量字符串可以这样比较
// if (str1 == str2) {
// NSLog(@"OK!!!");
// }
BOOL ret = [str1 isEqualToString:str2];
if (ret == YES) {
NSLog(@"OK!!!");
}
if ([str1 compare:str2] == NSOrderedAscending) {
NSLog(@"升序");
}else if ([str1 compare:str2] == NSOrderedDescending)
{
NSLog(@"降序");
}
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
stringOther();
// mulString();
// findString();
// initStaticString();
// initString();
}
return 0;
}