0

サインをどのように置き換えることができますかNSMutableArray|;

NSMutableArray *paths = [dic valueForKey:@"PATH"];
NSLog(@"pathArr ",  paths)
pathArr (
    (
       "29858,39812;29858,39812;29925,39804;29936,39803;29949,39802;29961,39801;30146,39782;30173,39779;30220,39774;30222,39774|30215,39775;30173,39779;30146,39782;29961,39801;29949,39802;29936,39803;29925,39804;29858,39812;29858,39812;29856,39812;29800,39819;29668,39843;29650,39847;29613,39855;29613,39855;29613,39856;29605,39857;29603,39867;29603,39867;29599,39892;29596,39909;29587,39957;29571,40018;29563,40038;29560,40043"
    )
)

アップデート

これは私が私の道を得たところです

NSArray *BusRoute = alightDesc;
int i;
int count = [BusRoute count];
for (i = 0; i < count; i++)
{   
    NSLog (@"BusRoute = %@", [BusRoute objectAtIndex: i]);
    NSDictionary *dic = [BusRoute objectAtIndex: i];
    NSMutableArray *paths = [dic valueForKey:@"PATH"];
}
4

5 に答える 5

2

配列パス内のオブジェクトが文字列である場合、これを行うことができます

NSMutableArray *path2=[[NSMutableArray alloc]initWithArray:nil];
for (NSObject *obect in path) {
    for (NSString *string in (NSArray*)obect) {
        [path2 addObject:[string stringByReplacingOccurrencesOfString:@"|" withString:@","]];
    }

}

NSLog(@"pathArr %@ ",  path2);

配列パスには、オブジェクトとして文字列を持つ別の配列が含まれています。お役に立てれば

于 2012-08-16T06:35:58.063 に答える
0

//配列を文字列にコピーします

NSString * str = [paths componentsJoinedByString:@ ""];

//次に「|」を置き換えます

str = [str stringByReplacingOccurrencesOfString:@ "|" withString:@ ";"];

于 2012-08-16T06:37:54.870 に答える
0

パスをNSStringにキャストまたは変換してから、次の操作を実行できます。

paths  = (NSString *) [paths stringByReplacingOccurrencesOfString:@"|" withString:@";"];

これが機能しない場合は、pathArrテキストを含む新しいNSStringインスタンスを作成し、replaceOccurrencesメソッドを呼び出して、変換を反転します。

 NSMutableString *tempStr = [[NSMutableString alloc] init];
 for (int i = 0; i < [paths count]; i++) 
{  
   [tempStr appendString:[path objectAtIndex:i]];
}

次に、このメソッドをtempStrに使用します。そして、試してみてください:

NSArray *newPaths = [tempStr componentsSeparatedByString:@";"];

最後の方法は完全に正しくない可能性があるので、試してみてください。

于 2012-08-16T06:34:35.790 に答える
0

.plistの文字列を置き換えるためにこれを行ったので、うまくいくかもしれません

    array1 = [NSMutableArray arrayWithContentsOfFile:Path1];
NSString *item = [@"dfdfDF"];
[array1 replaceObjectAtIndex:1 withObject:item];

        [array1 writeToFile:Path1 atomically:YES];
    NSLog(@"count: %@", [array1 objectAtIndex:1]);
于 2012-08-16T06:57:58.177 に答える
0

ええと、あなたはただ行ってみませんか:

NSString *cleanedString = [[[dic valueForKey:@"PATH"] objectAtIndex:0] stringByReplacingOccurrencesOfString:@";" withString:@"|"];

ネストされた配列が複数ある場合は、

for(int i = 0; i < [[dic valueForKey:@"PATH"] count]; i++)
{
    NSString *cleanedString = [[[dic valueForKey:@"PATH"] objectAtIndex:i] stringByReplacingOccurrencesOfString:@";" withString:@"|"];

    // do something with cleanedString
}
于 2012-08-16T07:25:33.057 に答える