0

我有一个 NSSring:

NSString *example = @"'example01','example02','example03','example04'";

我怎样才能从这条线NSArray?

4

2 回答 2

2
NSString *example = [example stringByReplacingOccurrencesOfString:@"'" withString:@""];

NSArray * exampleArr = [example componentsSeparatedByString:@","];
于 2012-08-01T07:51:02.817 回答
1
NSArray *commaSeparatedComponents = [example componentsSeparatedByString:@","];
NSCharacterSet *quotesSet = [NSCharacterSet characterSetWithCharactersInString:@"'"];
for (NSString *component in commaSeparatedComponents) {
    NSString *correctlyTrimmedComponent = [component stringByTrimmingCharactersInSet:quotesSet]; // only remove 's at the edges
    // ... do something with each component; maybe add to a mutable array ...
}

与其他答案相比,这具有不删除值内部存在的引号的优势,但它并没有实际解决数据内部可能需要的引号转义,等等。它仍然对某些字符串表现不佳,但在较少的情况下表现不佳,因为它在删除哪些引号方面不太轻率。

如果这是超出该精确格式的字符串的任何内容,您可能需要一个解析器来处理这种字符串的语义,该解析器可以处理引号如何转义、优雅地处理垃圾等。

于 2012-08-01T08:10:01.607 回答