将NSString转换为具有多个条件的NSArray

时间:2012-04-27 03:35:07

标签: iphone ios xcode nsstring nsarray

我有一个字符串,其中包含一些带句点和逗号的文本。我想根据逗号和句点将其转换为NSArray。我使用这种方法根据一种条件进行分离,但是如何用两种方法进行分离呢?

componentsSeparatedByString:

感谢。

3 个答案:

答案 0 :(得分:9)

您可以使用componentsSeparatedByCharactersInSet:

例如:

NSString *str = @"1,2.3";

NSArray *arr = [str componentsSeparatedByCharactersInSet:
                [NSCharacterSet characterSetWithCharactersInString:@",."]];

请参阅NSString Class Reference

答案 1 :(得分:5)

您需要使用逗号和点创建NSCharacterSet,并使用此方法:

- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

以下是一个例子:

NSArray *arr = [str componentsSeparatedByCharactersInSet:
      [NSCharacterSet characterSetWithCharactersInString:@",."]];

答案 2 :(得分:4)

 NSString *tempTextOut = [NSString stringWithFormat:@"jdnfj,adsfsajfhkj,hasdfjhdsjkfh,hdsufhajkdsfhk"];
NSMutableArray *array = [[tempTextOut componentsSeparatedByString: @","] mutableCopy];
NSLog(@"%@",array);

<强>&GT;&GT; OUTPUT1

jdnfj,
adsfsajfhkj,
hasdfjhdsjkfh,
hdsufhajkdsfhk

NSString *tempTextOut = [NSString      stringWithFormat:@"jdnfj,adsfsajfhkj,,,hasdfjhdsjkfh,,,,hdsufhajkdsfhk"];
NSMutableArray *array = [[tempTextOut componentsSeparatedByString: @",,,"] mutableCopy];
NSLog(@"%@",array);

<强>&GT;&GT; OUTPUT2

 "jdnfj,adsfsajfhkj",
hasdfjhdsjkfh,
",hdsufhajkdsfhk"

希望,这会对你有帮助..