2011-10-22 16 views
0

插入@ 「\ n」 舉個例子,如果我開始與這個字符串:中的NSString

NSString * labeltext = @"abcdefghijk"; 

我想這個字符串變化@"abc\n def\n ghi \n jk"

我想@「\ n」來來在我怎樣才能做到這一點的3

的間隔插入?

回答

3

使用NSMutableString,然後通過原始NSString進行循環。

NSMutableString *buffer = [[NSMutableString alloc] init]; 
int len = [labelText length]; 
for (i = 0; i < len; i++) { 
    NSRange charAt = NSMakeRange(i,1); 
    [buffer appendString: [labelText substringWithRange: charAt]]; 
    if ((i % 3) == 2) { 
     [buffer appendString: @"\n"]; 
    } 
} 
labelText = (NSString *)buffer; 

上面的例子是純粹的Objective-C。這也可以使用C完成。將NSString轉換爲一個cstring,然後遍歷數組。例如,

const char *str = [labelText UTF8String]; 
int len = strlen(str) - 1; 
int pos = 0; 
char buffer[(len * 2) + 1]; 
for (i = 0; i < len; i++) { 
    char ch = str[i]; 
    buffer[pos] = ch; 
    pos++; 
    if ((i % 3) == 2) { 
     buffer[pos] = '\n'; 
     pos++; 
    } 
} 
buffer[pos] = '\0'; 
labelText = [NSString stringWithFormat: @"%s", buffer];