文字列を大量の条件で置換する
またまた文字列ネタです。
ここで条件を列挙して文字列を置換することをやりましたが、それを一気にやる方法を作りました。
plistを使います。
まず手順。
1.プロジェクト名が書いてあるファイルを右クリックしてNew Fileを選び、iOS→Resource→Property Listをクリック、てきとーに名前をつける(ここではhogeにしました)
2.hoge.plistを編集する。Rootの右側をクリックすると+マークが出て来るので、それを押してKeyを入力する。ValueはKeyを入力した列にあるValueをダブルクリックすると入力できるので、それぞれ入力する。TypeはすべてStringにする。Keyが置換対象の文字で、Valueが置換後の文字です。
3.以下を入力する
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //置換する文字列 NSString *serchStr = @"カツオはサマナー。波平は...?"; //plistの読み込み。ofType:@"plist"はそのままでpathForResource:をファイル名にする NSString* path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"plist"]; NSDictionary* dictionary = [NSDictionary dictionaryWithContentsOfFile:path]; //キーを全部取り出して配列にする NSArray *ar = [dictionary allKeys]; //値を全部取り出して配列にする NSArray *ar2 = [dictionary allValues]; //変換の処理 for(int i=0; i<[ar count]; i++){ serchStr = [serchStr stringByReplacingOccurrencesOfString: [ar objectAtIndex:i] withString: [ar2 objectAtIndex:i]]; } //最終結果 NSLog(@"%@",serchStr); //ワカメはサマナー。フネは...? } ...