我有一个 NSSring:
NSString *example = @"'example01','example02','example03','example04'";
我怎样才能从这条线NSArray?
NSString *example = [example stringByReplacingOccurrencesOfString:@"'" withString:@""];
NSArray * exampleArr = [example componentsSeparatedByString:@","];
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 ...
}
与其他答案相比,这具有不删除值内部存在的引号的优势,但它并没有实际解决数据内部可能需要的引号转义,等等。它仍然对某些字符串表现不佳,但在较少的情况下表现不佳,因为它在删除哪些引号方面不太轻率。
如果这是超出该精确格式的字符串的任何内容,您可能需要一个解析器来处理这种字符串的语义,该解析器可以处理引号如何转义、优雅地处理垃圾等。