2011-07-22 8 views
2

すべて、NSRegularExpression to text

私は2つのキーと値を持つ辞書を持っています。私はそれらからビットとピースを抽出し、それらを別々の文字列に配置する必要があります。

{ 
     IP = "192.168.17.1"; 
     desc = "VUWI-VUWI-ABC_Dry_Cleaning-R12-01"; 
} 

これはdescriptionと呼んだときの辞書の外観です。

私は新しい出力は次のようになりたい:

NSString *IP = @"192.168.17.1"; 
NSString *desc = @"ABC Dry Cleaning"; //note: I need to get rid of the underscores 
NSString *type = @"R"; 
NSString *num = @"12"; 
NSString *ident = @"01"; 

どのように私はこれを達成するであろうか?

NSRegularExpressionに関するApple開発者のドキュメントを読んだことがありますが、わかりにくいです。私は一度ここで一度助けを受けると、将来私はそれを理解できると確信しています、私はちょうど始める必要があります。

ありがとうございます。

答えて

1

わかりましたが、その第一は、各キーに関連付けられたオブジェクトを取得する必要があります。

その後
NSString *ip = [dic objectForKey:@"IP"]; //Btw, you shouldn't start a variable's name with a capital letter. 
NSString *tempDesc = [dic objectForKey:@"desc"]; 

、私は文字-に基づいて、tempDescで文字列を分割されてどうなるのか。

NSArray *tmpArray = [tempDesc componentsSeparatedByString:@"-"]; 

は、次に、あなたはちょうどあなたが興味を持っている文字列または部分文字列を取得する必要があり、必要に応じてそれらを再フォーマット:あなたが見ることができるように

NSString *desc = [[tmpArray objectAtIndex:2] stringByReplacingOccurrencesOfString:@"_" withString:@" "]; 
NSString *type = [[tmpArray objectAtIndex:3] substringToIndex:1]; 
NSString *num = [[tmpArray objectAtIndex:3] substringFromIndex:1]; 
NSString *ident = [tmpArray objectAtIndex:4]; 

、これはNSRegularExpressionを使用せずに完璧に動作します。

+0

これは完璧です!どうもありがとうございます。そして私はそれを "ip"にしましょう;) – Baub

関連する問題