#import <Foundation/Foundation.h>
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(@"capStr = %@",capitalStr) ;
NSLog(@"mStr = %@",str);
NSString* strULR = @"http://www.baidu.com";
//判断一个字符串是否含有某种前缀
//如果返回值为YES,判断成功
//否则失败
BOOL isHasPrefix = [strULR hasPrefix:@"http://"] ;
if (isHasPrefix == YES)
{
NSLog(@"这是一个网址链接!!!");
}
//检查是否具有某个后缀名
BOOL isHasPos = [strULR hasSuffix:@".mp3"];
if (isHasPos == NO)
{
NSLog(@"这不是一个有效的mp3链接!!!");
}
NSString* str1 = [[NSString alloc] initWithFormat:@"acc"] ;
NSString* str2 = [[NSString alloc] initWithFormat:@"abc"] ;
//判断两个字符串是否相等
BOOL ret = [str1 isEqualToString:str2] ;
if ( ret == YES)
{
NSLog(@"OK!!!");
}
if ([str1 compare:str2] == NSOrderedSame)
{
NSLog(@"相等!!!");
}
else if ([str1 compare:str2] == NSOrderedAscending)
{
NSLog(@"生序!!!");
}
else if ([str1 compare:str2] == NSOrderedDescending)
{
NSLog(@"降序!!!");
}
}
void initString()
{
NSString* str1 = @"abc" ;
NSString* str2 = [[NSString alloc] init] ;
str2 = @"123" ;
//90%以上的情况都可以使用format函数初始化字符串
NSString* str3 = [[NSString alloc] initWithFormat:@"my age is %d",30];
NSLog(@"str3 = %@",str3) ;
//通过C字符串"123"来初始化一个NSString对象
//参数二:编码格式,一般使用NSUTF8编码格式
NSString* str4 = [[NSString alloc]
initWithCString:"你好" encoding:NSUTF8StringEncoding];
NSLog(@"str4 = %@",str4) ;
//直接通过UTF8格式的字符串创建一个NSString字符串
NSString* str5 = [[NSString alloc] initWithUTF8String:"88889999"];
NSLog(@"str5 = %@",str5) ;
//通过之前创建过的字符串来创建一个新的字符串
NSString* str6 = [[NSString alloc] initWithString:str3];
NSLog(@"str6 = %@",str6) ;
// NSString* str61 = [[NSString alloc] initWithString:@"111"] ;
NSURL* url = [NSURL URLWithString:@"http://www.baidu.com"];
NSString* str7 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"str7 = %@",str7) ;
}
//使用类方法初始化
void initStaticString()
{
//类方法创建
NSString* str1 = [NSString stringWithString:@"111"];
//格式化类方法
NSString* str2 = [NSString stringWithFormat:@"格式化%d %d%d",30,20,20] ;
//UTF8类初始化方法
NSString* str3 = [NSString stringWithUTF8String:"12345"] ;
//通过C字符串以及相应编码格式
NSString* str4 = [NSString stringWithCString:"c字符串" encoding:NSUTF8StringEncoding] ;
NSString* str5 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.youku.com"] encoding:NSUTF8StringEncoding error:nil] ;
NSLog(@"str5 = %@",str5) ;
}
void findString()
{
//定义一个字符串,通过Format来初始化
NSString* str = [[NSString alloc] initWithFormat:
@"This is my first OC program"];
//获取字符串中的一个子字符串
//从字符串开始部分开始计算,截取到参数所指向位置索引
//字符串索引从0开始,从0截取到参数所指向的位置
//不包括参数所在的字符位置,只到前一个位置的字符
NSString* subStr1 = [str substringToIndex:4];
NSLog(@"subStr1 = %@",subStr1) ;
//获取一个子字符串
//从参数索引位置开始截取直到字符串结尾部分
//包括参数索引值所在的字符
NSString* subStr2 = [str substringFromIndex:11] ;
NSLog(@"subStr2 = %@",subStr2) ;
//声明范围结构体
NSRange range = NSMakeRange(4, 10) ;
// range.location = 4 ;
// range.length = 10 ;
//通过一个范围来获得一个子字符串
NSString* subStr3 = [str substringWithRange:range];
NSLog(@"subStr3 = %@",subStr3) ;
//获得一个字符在另外一个字符串中的位置
NSRange rangeSub = [str rangeOfString:@"This"];
NSLog(@"range.location = %ld",rangeSub.location) ;
NSLog(@"range.length = %ld",rangeSub.length) ;
if(rangeSub.length == 0)
{
NSLog(@"未找到子字符串!!!");
}
NSString* subStr7 = [str substringWithRange:rangeSub];
}
//可变字符串处理
void mulString()
{
//创建一个可变更字符串
//创建一个可变字符串对象,预留空间为n个空间
NSMutableString* mStr = [[NSMutableString alloc] initWithCapacity:100] ;
//在字符串后面添加字符串
[mStr appendString:@"This is Apple cba cba cba"];
NSLog(@"str = %@",mStr );
//在原有字符串尾部添加格式化的字符串
[mStr appendFormat:@"\nmy age is %d\n",30];
NSLog(@"str = %@",mStr);
//插入一个字符串
//参数一表示要嵌入的字符串
//参数二表示嵌入字符串的起始位置
[mStr insertString:@"1111\n" atIndex:[mStr length]-1] ;
NSLog(@"str = %@",mStr) ;
NSRange rangeDelete = NSMakeRange(0, 5);
//通过指定范围删除一个子字符
[mStr deleteCharactersInRange:rangeDelete] ;
NSLog(@"str = %@",mStr) ;
NSRange rangeReplace = NSMakeRange(14, 3);
//通过指定的范围来替换相应的子字符串
// [mStr replaceCharactersInRange:rangeReplace withString:@"cba"] ;
while (true)
{
NSRange range = [mStr rangeOfString:@"abc"] ;
if (range.length == 0)
{
break ;
}
[mStr replaceCharactersInRange:range withString:@"cba"];
}
//返回字符串的长度
[mStr length] ;
//mStr.length ;
NSLog(@"str = %@",mStr) ;
}
int main(int argc, const char * argv[])
{
@autoreleasepool
{
stringOther();
//mulString();
//findString() ;
//initStaticString();
//initString() ;
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}