NSString簡單細說(九)—— 字符串的合并

版本記錄

版本號 時間
V1.0 2017.05.08

前言

前面我簡單的寫了些NSString的初始化,寫了幾篇,都不難,但是可以對新手有一定的小幫助,對于大神級人物可以略過這幾篇,NSString本來就沒有難的,都是細枝末節,忘記了查一下就會了,沒有技術難點,下面我們繼續~~~
1. NSString簡單細說(一)—— NSString整體架構
2. NSString簡單細說(二)—— NSString的初始化
3. NSString簡單細說(三)—— NSString初始化
4. NSString簡單細說(四)—— 從URL初始化
5. NSString簡單細說(五)—— 向文件或者URL寫入
6. NSString簡單細說(六)—— 字符串的長度
7. NSString簡單細說(七)—— 與C字符串的轉化
8. NSString簡單細說(八)—— 識別和比較字符串

詳述

字符串的合并

一、- (NSString***)stringByAppendingFormat:(NSString *)format, ...;

看代碼。

    /**
     *1. - (NSString *)stringByAppendingFormat:(NSString *)format, ...;
     *
     *  @param format:A format string. See Formatting String Objects for more information. This value must not be nil.
     *  @param ... :A comma-separated list of arguments to substitute into format.
     *
     *  @return :A string made by appending to the receiver a string constructed from format and the following arguments, in the manner of stringWithFormat:.
     *
     */
        NSString *ocStr1 = @"AABBCC";
        NSString *ocStr2 = @"AABBCD";
        NSInteger ocStr = @"200";
        NSString *str = [ocStr1 stringByAppendingFormat:@"%@%@",ocStr2,ocStr];
        NSLog(@"str====%@",str);

看結果。


2017-05-08 22:57:24.879 NSString你會用嗎?[1137:37774] str====AABBCCAABBCD200


結論:這個方法就是按照特定的格式將若干個字符串拼接在一起,沒有數量限制。這里format不能為空nil,否則會拋出異常NSInvalidArgumentException。


二、- (NSString ***)stringByAppendingString:(NSString *)aString;

看代碼。


    /**
     *2. - (NSString *)stringByAppendingFormat:(NSString *)format, ...;
     *
     *  @param format:A format string. See Formatting String Objects for more information. This value must not be nil.
     *  @param ... :A comma-separated list of arguments to substitute into format.
     *
     *  @return :A string made by appending to the receiver a string constructed from format and the following arguments, in the manner of stringWithFormat:.
     *
     */
    NSString *ocStr1 = @"AABBCC";
    NSString *ocStr2 = @"AABBCD";

    NSString *str = [ocStr1 stringByAppendingString:ocStr2];
    NSLog(@"str====%@",str);


看結果。

2017-05-08 23:04:08.864 NSString你會用嗎?[1229:42688] str====AABBCCAABBCD


三、- (NSString ***)stringByAppendingString:(NSString *)aString;

看代碼。

    /**
     *3. - (NSString *)stringByPaddingToLength:(NSUInteger)newLength withString:(NSString *)padString startingAtIndex:(NSUInteger)padIndex;   
     *
     *  @param newLength:The new length for the receiver.
     *  @param padString :The string with which to extend the receiver.
     *  @param padIndex :The index in padString from which to start padding.
     *
     *  @return :A new string formed from the receiver by either removing characters from the end, or by appending as many occurrences of padString as necessary.
     *
     */
    NSString *ocStr1 = [@"abc" stringByPaddingToLength: 9 withString: @"." startingAtIndex:0];
    // Results in "abc......"
    
    NSString *ocStr2 = [@"abc" stringByPaddingToLength: 2 withString: @"." startingAtIndex:0];
    // Results in "ab"
    
    NSString *ocStr3 = [@"abc" stringByPaddingToLength: 9 withString: @". " startingAtIndex:1];
    // Results in "abc . . ."
    // Notice that the first character in the padding is " "
    
    NSLog(@"ocstr1==%@,ocstr2==%@,ocstr3==%@",ocStr1,ocStr2,ocStr3);

看結果。

2017-05-08 23:11:43.555 NSString你會用嗎?[1337:49429] ocstr1==abc......,ocstr2==ab,ocstr3==abc . . .

結論:這個方法不怎么常用,這里細說一下,就是新建立一個給定長度的字符串,并且將舊的字符串按照給定的index索引,加在新的字符串上,如果超過給定長度就截取。我們就以那幾個例子說明一下:1)ocStr1要合成一個長度為9的字符串,在abc的結尾,0索引開始,所以就是abc后面跟著六個"."。2)ocStr2要和成一個程度為2的字符串,舊的字符串長度為3已經大于2了,所以就會截取1位留下2位。3)ocStr3要合成9位的字符串,但是要從索引1開始,那么abc后面索引0的位置就是空格,所以用@". "合成就是空格 點 空格 點,補充到九位結束。我必須承認這個方法我沒有用過。

后記

今天上班的第一天,狀態還不錯,哈哈,不過還是要十分努力才會看起來毫不費力,加油吧,愿與諸君共勉,晚安。

我承認我今天又想你了~~
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容