私は、文字列が文字列全体の文字列からサブ文字列を抽出して配列に入れる方法は?
NSString *str = @"M 2 2 C 5 6 7 8 9 1 2 3M 1 2 C 5 6 7 8 9 1 2 3"
私は["2 2","5 6 7 8 9 1 2 3","1 2","5 6 7 8 9 1 2 3"]
のようなサブストリングの配列にしたい、私は私が見つけた ["M":"2 2", "C":"5 6 7 8 9 1 2 3"]
のような辞書にタイプして、それをマップすることが可能である持っていますrangeプロパティを使用して部分文字列を取得する
NSString *str = @"M 2 2 C 5 6 7 8 9 1 2 3M 1 2 C 5 6 7 8 9 1 2 3"
NSRange r1 = [str rangeOfString:@"M"];
NSRange r2 = [str rangeOfString:@"C"];
NSRange rSub = NSMakeRange(r1.location + r1.length, r2.location - r1.location - r1.length);
NSString *sub = [s substringWithRange:rSub];
しかし、文字MとCは任意の順序です。どのように私は文字列の長さ全体のためにこれを解決し、配列に配置することができますか?
文字列は動的ですか?私はどんな手紙でもかまいませんし、MとCでなければなりませんか? –
"M 2 2 C 5 6 7 8 9 1 2 3M 1 2 C 5 6 7 8 9 1 2 3"の正確な結果は、 "辞書の型にマップする"という点ではどうでしょうか?次の文字列には2つの 'M'が含まれているため、辞書には 'M'がキーとして1つしか存在しない可能性があります。 –
待って...「2 2」、「5 6 7 8 9 1 2 3」、「1 2」、「5 6 7 8 9 1 2 3」 'のような部分文字列と'' "M": "2 2"、 "C": "5 6 7 8 9 1 2 3"] 'のような辞書の型でマップしたいのですが、配列と辞書はどう関係していますか? Arunが指摘しているように、サンプルデータにはキー「M」が2回ありますが、辞書キーは一意です –