如何用行分隔符替换字符串“\ n”?

时间:2014-06-10 09:17:34

标签: objective-c

例如我的字符串是

NSString *blabla=@"qwerty\n mix";

在输出中我需要:

qwerty
mix

2 个答案:

答案 0 :(得分:0)

我不知道你的意思是哪个输出。但是在控制台和UILabel \n为我工作。

代码:

#import <Foundation/Foundation.h>

int main(int argc, char *argv[]) {
    @autoreleasepool {
        NSString *aString = @"first line\nsecond line";
        NSLog(aString);
    }
}

输出:

2014-06-10 11:24:46.507 Untitled[608:507] first line
second line

为了更好地格式化它,你可以把它写成多个字符串:

        NSString *aString = @"first line"
        "\n"
        "second line";

输出相同

答案 1 :(得分:0)

如果\n无效并且您要将文字设置为标签,请不要忘记将numberOfLines设置为0。如果您有标签属性,它将如下所示:

self.yourLabel.numberOfLines = 0;

还要注意从XML或SQLite读取字符串。解析的换行符在UILabel中不起作用。您必须将已解析的\\n替换为硬编码\n

//NSString * stringForLabel = INPUT;
NSString *lineBreak = @"\n";
stringForLabel = [stringForLabel stringByReplacingOccurrencesOfString:@"\\n" withString:lineBreak];

self.yourLabel.text = stringForLabel;