Разбор элементов массива в iPhone - PullRequest
0 голосов
/ 14 июня 2011
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *pthpath = [bundle pathForResource:@"path" ofType:@"txt"];
    NSString *content = [NSString stringWithContentsOfFile:pthpath encoding:NSUTF8StringEncoding error:nil];
    array=[[NSArray alloc ]init];
    array = [content componentsSeparatedByString:@"~"];
=====================================================================

здесь содержание:

87,348 ~ 51,347 ~ 135,132 ~ 182,133 ~ 268,346 ~ 236,347 ~ 159,168 ~ 87,347 @ 118,298 ~ 115,297 ~ 200,298 ~ 189,266 ~ 128,265 ~ 117,299 @ 222,352 ~ 268,353~ 264 340 ~ 219 342 ~ 225 355 @ 186 262 ~ 199 299 ~ 212 297 ~ 195 257 ~ 188 260

и массив:

"87 348", "51 347", "135 132",«182 133», «268 346», «236 347», «159 168», «87 347 @ 118 298», «115 297», «200 298», «189 266», «128 265», «117 299 @ 222 352», «268 353», «264 340»"," 219,342 "," 225,355 @ 186,262 "," 199,299 "," 212,297 "," 195,257 "," 188,260 "

Но я хочу снова создать массив путем синтаксического анализа с @.Пожалуйста, помогите мне ...........

Ответы [ 3 ]

0 голосов
/ 14 июня 2011

Вместо использования componentSeparatedByString: используйте компонентSeparatedByCharactersInSet: и создайте набор символов с необходимыми разделителями.

Кроме того, вы создаете там массив (array = [[NSArray alloc] init]), и когда вы делаете array = [content componentsSeparatedByString: @ "@"], вы пропускаете только что выделенный массив. В общем, кажется, что вы должны прочитать больше о том, как работают объекты и ссылки.

0 голосов
/ 14 июня 2011

Я думаю, что из следующего кода вы можете получить представление, если я правильно понял ваш вопрос,

NSMutableArray *resultArray = [[NSMutableArray alloc] initWithCapacity:1];
    NSArray *tempArray1 = nil;
    NSArray *tempArray2 = nil;
    NSString *content = @"87,348~51,347~135,132~182,133~268,346~236,347~159,168~87,347@118,298~115,297~200,298~189,266~128,265~117,299@222,352~268,353~264,340~219,342~225,355@186,262~199,299~212,297~195,257~188,260";
    tempArray1 = [content componentsSeparatedByString:@"@"];
    for(NSString *string in tempArray1)
    {
        tempArray2 = [string componentsSeparatedByString:@"~"];
        [resultArray addObjectsFromArray:tempArray2];
    }

    NSLog(@"ResultArray :%@", resultArray);
0 голосов
/ 14 июня 2011
for (NSString *string in array) {
    NSArray *subArray = [string componentsSeparatedByString:@"@"];
    for (NSString *substring in subArray)
       etc. etc.

(В следующий раз постарайтесь, чтобы ваш вопрос был лучше отформатирован и сформулирован, пожалуйста.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...