如何用逗号替换\ n并删除最后一个\ n? - iOS Objective C

时间:2017-05-22 10:44:51

标签: ios objective-c

我想在标签中显示从服务器返回的文本。服务器返回类似*English\nMalay\nTamil\n*的内容。

目前我使用:

stringByReplacingOccurrencesOfString:@"\n" withString:@", "

用逗号替换\n。但是如何删除最后一个\n

现在我在标签上的文字显示:

  

“英语,马来语,泰米尔语”,

我想得到像

  

“英语,马来语,泰米尔语”

3 个答案:

答案 0 :(得分:3)

尝试这样。

NSString *string =  @"English\nMalay\nTamil\n";
//Make array from string
NSMutableArray *array = [NSMutableArray arrayWithArray:[string componentsSeparatedByString:@"\n"]];
//Remove all empty object from array
[array removeObject:@""];
//Join array object and make string
NSString *newString = [array componentsJoinedByString:@", "];
NSLog(@"%@",newString);

答案 1 :(得分:0)

您可以使用以下代码

来完成此操作
NSString *string=@"English\nMalay\nTamil\n";

NSMutableArray *arryLanguagge = [[string componentsSeparatedByString: @"\n"] mutableCopy];

 [arryLanguagge removeObject:@""];

NSString *strLanguaage=[arryLanguagge componentsJoinedByString:@","];

NSLog(@"%@",strLanguaage);

答案 2 :(得分:0)

为什么不在使用\n进行替换之前删除上一个substringToIndex

NSString *mString =  @"English\nMalay\nTamil\n";
NSLog(@"mString===before===%@", mString);
mString = [mString substringToIndex:mString.length-1];
mString = [mString stringByReplacingOccurrencesOfString:@"\n" withString:@", "];
NSLog(@"mString===after===%@", mString);

输出

mString===before===English
Malay
Tamil

mString===after===English, Malay, Tamil