1. 程式人生 > >oc第一天課程程式碼(NSString常用函式及初始化方式)

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

:@"http://"] ;

    if (isHasPrefix == YES)

    {

NSLog(@"這是一個網址連結!!!");

    }

//檢查是否具有某個字尾名

    BOOL isHasPos = [strULR hasSuffix:@".mp3"];

    if (isHasPos == NO)

    {

NSLog(@"這不是一個有效的mp3連結!!!");

    }

NSString* str1 = [[NSStringalloc] initWithFormat:@"acc"] ;

NSString* str2 = [[NSStringalloc]

initWithFormat:@"abc"] ;

//判斷兩個字串是否相等

    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;

}