0

次の文字列があります。

    key = value = 123

"key"この文字列を2つの文字列とに分割したいと思います"value = 123"。これを行うための最良の方法は何ですか?

「=」で使用componentsSeparatedByStringすることを考えていたので、最後の2つのコンポーネントを組み合わせますが、私にとって"key ="は固定されていますが、右側はどのような値でもかまい"value1 = 123, value2 = 123"ません。そのため、このアプローチは使用できません。

key基本的に、 (最初の=記号の前のすべての文字)と最初の=記号の後に残っているものが何であれ、それを取得するための良い方法がある場合value、それは本当に役に立ちます。

4

3 に答える 3

1

NSScannerを使用してください!

       NSString *key, *value;
       NSScanner *scanner = [NSScanner scannerWithString:yourstring];
       [scanner scanUpToString:@"=" intoString:&key];
       [scanner scanString:@"=" intoString:nil];
       value = [yourstring substringFromIndex:scanner.scanLocation];

       key = [key stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
       value = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

文字列"key = value1 = 123, value2 = 456"は次のようにkey = "key"なりますvalue = "value1 = 123, value2 = 456".

于 2012-11-20T15:25:08.490 に答える
0

あなたの質問を完全に理解しているかどうかわかりませんか?次のコードは、キーが何であるかに関係なく、キーをフェッチし、元の文字列からキーを削除して値を取得します。

NSString *strKeyKalue = @"key = value = 123";
NSArray *aryKeyValue = [strKeyKalue componentsSeparatedByString:@" = "];
NSString *key = [aryKeyValue objectAtIndex:0];
NSString *values = [strKeyValue substringFromIndex:[key length] + 3]; // Remember ' = '

したがってmax_int = 17477575、結果key = max_intとしてvalue = 17477575

于 2012-11-20T14:43:00.970 に答える
0

あなたの説明はかなり紛らわしいです。キーだけを値=123から分離する場合は、commentsSeperatedByStringを使用してから、NSString * newString = [NSString stringWithFormat "@"%@ =%@ "、string1、string2];を使用します。

于 2012-11-20T14:43:58.593 に答える