oc第一天課程程式碼(NSString常用函式及初始化方式)
#import <Foundation/Foundation.h>
void stringOther()
{
NSMutableString* str = [[NSMutableStringalloc] 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
if (isHasPrefix == YES)
{
NSLog(@"這是一個網址連結!!!");
}
//檢查是否具有某個字尾名
BOOL isHasPos = [strULR hasSuffix:@".mp3"];
if (isHasPos == NO)
{
NSLog(@"這不是一個有效的mp3連結!!!");
}
NSString* str1 = [[NSStringalloc] initWithFormat:@"acc"] ;
NSString* str2 = [[NSStringalloc]
//判斷兩個字串是否相等
BOOL ret = [str1 isEqualToString:str2] ;
if ( ret == YES)
{
NSLog(@"OK!!!");
}
if ([str1 compare:str2] == NSOrderedSame)
{
NSLog(@"相等!!!");
}
elseif ([str1 compare:str2] == NSOrderedAscending)
{
NSLog(@"生序!!!");
}
elseif ([str1 compare:str2] == NSOrderedDescending)
{
NSLog(@"降序!!!");
}
}
void initString()
{
NSString* str1 = @"abc" ;
NSString* str2 = [[NSStringalloc] init] ;
str2 = @"123" ;
//90%以上的情況都可以使用format函式初始化字串
NSString* str3 = [[NSStringalloc] initWithFormat:@"my age is %d",30];
NSLog(@"str3 = %@",str3) ;
//通過C字串"123"來初始化一個NSString物件
//引數二:編碼格式,一般使用NSUTF8編碼格式
NSString* str4 = [[NSStringalloc]
initWithCString:"你好"encoding:NSUTF8StringEncoding];
NSLog(@"str4 = %@",str4) ;
//直接通過UTF8格式的字串建立一個NSString字串
NSString* str5 = [[NSStringalloc] initWithUTF8String:"88889999"];
NSLog(@"str5 = %@",str5) ;
//通過之前建立過的字串來建立一個新的字串
NSString* str6 = [[NSStringalloc] initWithString:str3];
NSLog(@"str6 = %@",str6) ;
// NSString* str61 = [[NSString alloc] initWithString:@"111"] ;
NSURL* url = [NSURLURLWithString:@"http://www.baidu.com"];
NSString* str7 = [[NSStringalloc] initWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:nil];
NSLog(@"str7 = %@",str7) ;
}
//使用類方法初始化
void initStaticString()
{
//類方法建立
NSString* str1 = [NSStringstringWithString:@"111"];
//格式化類方法
NSString* str2 = [NSStringstringWithFormat:@"格式化%d %d%d",30,20,20] ;
//UTF8類初始化方法
NSString* str3 = [NSStringstringWithUTF8String:"12345"] ;
//通過C字串以及相應編碼格式
NSString* str4 = [NSStringstringWithCString:"c字串"encoding:NSUTF8StringEncoding] ;
NSString* str5 = [NSStringstringWithContentsOfURL:[NSURLURLWithString:@"http://www.youku.com"] encoding:NSUTF8StringEncodingerror:nil] ;
NSLog(@"str5 = %@",str5) ;
}
void findString()
{
//定義一個字串,通過Format來初始化
NSString* str = [[NSStringalloc] 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 = [[NSMutableStringalloc] 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;
}