从NSMutableString中删除括号

时间:2014-01-29 14:28:49

标签: ios iphone objective-c

我有一个像这样的NSMutableString:

(
    993,
    12836,
    10630
)

如何删除括号?

修改

该字符串是该指令的结果:

NSMutableString * result = [labelpost description];

4 个答案:

答案 0 :(得分:7)

您不应该依赖description方法,因为它无法保证输出的格式。

相反,在对象上使用特定方法,就像NSArray实例一样,使用componentsJoinedByString:创建所需的字符串输出。

答案 1 :(得分:1)

string = [string stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"()"]]

答案 2 :(得分:0)

如果是NSString,您可以通过调用将其删除:

string = [string stringByReplacingOccurancesOfString:@"(" withString:@""];
string = [string stringByReplacingOccurancesOfString:@")" withString:@""];

答案 3 :(得分:0)

在我看来,labelpost就是一个数组。方法描述生成描述对象内容的字符串。在数组的情况下,你得到一个开放的paren,然后是一个以逗号分隔的对象列表,然后是一个结束括号。

正如另一张海报Greg所说,你可以使用stringByReplacingOccurancesOfString将你的parens转换成空字符串,但是你会留下

993,
12836,
10630 

(顶部有一个空白行,包含一个空格,每行后面有换行符,逗号和最后一个对象后面的空格,以及最后一个空行。)

如果这就是你想要的,那很好。你的最终目标是什么?

尝试记录labelpost及其内容的类:

NSLog(@"label post class = %@", [labelpost class]);
if ( [labelpost isKindOfClass:[NSArray class]] )
{
  NSArray *array = (NSArray *)labelpost; //Cast labelpost to an array
  for (id anObject in array)
    NSlog(@"Object class = %@, object = %@", [anObject class] [anObject description]);
}