旅行アプリを開発しています。すべての州と国が含まれているtxtファイルを読み取る必要があります。これは非常に巨大なファイルであり、とにかく、これはファイル内のテキストの例です。
ザキントス(ZTH)、ギリシャ
ゼインズビル(ZZV)、米国
ザンジャン(JWN)、イラン
ザンジバル(ZNZ)、タンザニア
...
現在、問題なくファイルを読み取っていますが、2つの配列を作成する方法がわかりません。1つは州で、もう1つは国で、テキストがオートコンプリートされているときにテーブルに表示できるようにします。
「、」を区切り文字として使用してNSScannerを使用しようとしましたが、それを機能させる方法がわかりません。また、NSStringメソッドを使用しても結果はありません。
どんな助けでも歓迎します、事前にありがとう!!!。
ところで、私の英語XDについて申し訳ありません
NSStringをNSArrayに分割する最も簡単な方法は次のとおりです。
NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];
これでうまくいくはずです。これを試しましたか?
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];