从字符串变量中获取子字符串并保存到 NSMutableArray

Get substring from string variable and save to NSMutableArray

我是 iOS 开发的新手,遇到了一些问题。我有一个这样的字符串 M||100|??|L||150|??|S||50. 我想将字符串分成块并保存到数组,e.g M 100 在第一个索引上,L 150 在第二个索引上,S 50 在第三个索引上。

您可以使用此代码从字符串中获取数组

NSString *str = @"M||100|??|L||150|??|S||50";
str = [str stringByReplacingOccurrencesOfString:@"||" withString:@" "];
NSArray *array = [str componentsSeparatedByString:@"|??|"];  

这将 return 您的预期结果。

let str = "M||100|??|L||150|??|S||50"
let array = str.componentsSeparatedByString("|??|")
print(array)

结果:

["M||100", "L||150", "S||50"]
///First replace "||" with " "

NSString *your_str = @"M||100|??|L||150|??|S||50";
your_str = [your_str stringByReplacingOccurrencesOfString:@"||" withString:@" "];

///Get array of string

NSArray *arr = [your_str componentsSeparatedByString:@"|??|"];
NSMutableArray *data_arr = [[NSMutableArray alloc] init];
for(NSString *str in arr)
{
   ///string to data conversion
   NSData *data = [your_str dataUsingEncoding:NSUTF8StringEncoding];

   //////// add data to array
   [data_arr addObject: data];
}
NSLog(@"data_arr =%@",data_arr);
NSString *str = @"M||100|??|L||150|??|S||50";
NSArray *arrt = [str componentsSeparatedByString:@"|??|"];
NSMutableArray *arr = [[NSMutableArray alloc]init];
for (int i = 0; i <= arrt.count - 1; i++) {
    [arr addObject:[[arrt objectAtIndex:i] componentsSeparatedByString:@"||"]];
}
NSString *str = @"M||100|??|L||150|??|S||50";
NSString *stringWithoutBars = [str stringByReplacingOccurrencesOfString:@"||" withString:@" "];
NSMutableArray *array = [[NSMutableArray alloc]initWithArray:[stringWithoutBars componentsSeparatedByString:@"|??|"]];