我一直在寻找这个,但找不到答案。
我有一个NSMutableArray,其值为who_1,what_2,where_3等。
我想把它变成谁,什么,哪里等。
我已经将整数的值作为变量,而_只是一个字符串。
我应该采取哪些步骤来改变所有这些数值?
答案 0 :(得分:1)
NSArray * arrB = [[NSArray alloc]initWithObjects:@"apple_a",@"ball_b",@"cat_c",@"doll_d",nil];
NSMutableArray * arrA = [[NSMutableArray alloc]init];
for(NSString *strData in arrB)
{
NSArray *arr = [strData componentsSeparatedByString:@"_"];
[arrA addObject:[arr objectAtIndex:0]];
}
这将是你的输出
arrA:(
apple,
ball,
cat,
doll
)
答案 1 :(得分:0)
你需要为此应用逻辑,你无法找到棘手问题的答案:) 你需要运行一个循环。
用'_'
分隔字符串循环
for(NSString *s in ary)
{
NSArray *a = [s componentsSeparatedByString:@"_"];
[anotherArray addObject:[a objectAtIndex:0]];
}
并更新您的数组..
答案 2 :(得分:0)
以下可能对您有帮助 -
NSRange range = [string rangeOfString:@"_"];
NSString *finalString = [originalString substringToIndex:range.location];
你可以循环使用。
或者你可以去componentSeperatedByStrings
。
答案 3 :(得分:0)
这可能对您有所帮助
NSMutableArray *tmpAry = [[NSMutableArray alloc] init];
for(NSString *_string in _StringAry)
{
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"_0123456789"];
_string = [[_string componentsSeparatedByCharactersInSet:charSet] componentsJoinedByString:@""];
[tmpAry addObject: [[_string copy] autorelease]];
}
NSLog(@"%@", tmpAry); // Gives the modified array
[tmpAry release];