まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを。参照していないものに関しては、コピペ改変まったく問いません

文字列を大量の条件で置換する

またまた文字列ネタです。
ここで条件を列挙して文字列を置換することをやりましたが、それを一気にやる方法を作りました。
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); //ワカメはサマナー。フネは...?
   
}

...