25

私は旅行アプリを開発しています。すべての州と国を含む txt ファイルを読み取る必要があります。これはかなり巨大なファイルであることがわかります。とにかく、これはファイル内のテキストの例です。

ザキントス (ZTH)、ギリシャ
ゼーンズビル (ZZV)、アメリカ
ザンジャン (JWN)、イラン
ザンジバル (ZNZ)、タンザニア
...

今、私は問題なくファイルを読んでいますが、2 つの配列を作成する方法がわかりません。

「、」を区切り文字として使用して NSScanner を使用しようとしましたが、それを機能させる方法がわかりません。また、結果なしで NSString メソッドを試しました。

どんな助けでも大歓迎です、前もってありがとう!!!.

ところで、私の英語について申し訳ありません XD

4

2 に答える 2

76

NSString を NSArray に分割する最も簡単な方法は次のとおりです。

NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];

これはうまくいくはずです。これを試しましたか?

于 2011-08-02T22:40:52.957 に答える
10

hspain の回答を拡張し、解決策を質問に沿ったものにするために、次のことを提示します

NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];

これにより、2 要素の配列が得られます: [@"Zakinthos (ZTH)", @"GREECE"];

ここから簡単に国を取得できます。

NSString *countryString = stringArray[1]; // GREECE

このプロセスを繰り返して、さらに絞り込みます。

NSArray *stateArray = [(NSString*)stringArray[0] componentsSeparatedByString:@" "];

stateArray は [@"Zakinthos", @"(ZTH)"] のようになりました。

NSString *stateString = stateArray[0]; // Zakinthos

これで、Country と State が独自の文字列に分離され、次のように新しい配列を作成できます。

NSMutableArray *countryArray = [NSMutableArray arrayWithObjects:countryString, nil];
NSMutableArray *stateArray = [NSMutableArray arrayWithObjects:stateString, nil];

場所のドキュメントを処理するときに、次のような方法で国と州を適切な配列に追加できます。

[countryArray addObject:newCountryString];
[stateArray addObject:newStateString];
于 2015-02-18T18:21:57.910 に答える