12

私は文字列を持っているNSString *Original=@"88) 12-sep-2012";か、Original=@"8) blablabla";

「)」の前の文字だけを出力したいので、文字「)」のインデックスを見つける方法。またはどうすればできますか?

前もって感謝します。

4

6 に答える 6

16

最初の右括弧の前の文字を印刷するには、次のようにします。

NSString *str = [[yourString componentsSeparatedByString:@")"] objectAtIndex:0];
NSLog(@"%@", str);

// If you need the character index:
NSUInteger index = str.length;
于 2012-09-12T09:45:18.393 に答える
10

U は、次のように文字 ")" のインデックスを見つけることができます。

NSString *Original=@"88) 12-sep-2012";
NSRange range = [Original rangeOfString:@")"];
if(range.location != NSNotFound)
{
 NSString *result = [Original substringWithRange:NSMakeRange(0, range.location)];
}
于 2012-09-12T09:49:31.360 に答える
6

次のコードを使用して、")"の前の文字を確認できます。

   // this would split the string into values which would be stored in an array
   NSArray *splitStringArray = [yourString componentsSeparatedByString:@")"];
   // this would display the characters before the character ")"
   NSLog(@"%@", [splitStringArray objectAtIndex:0]);
于 2012-09-12T09:44:29.970 に答える
3

以下のコードを試して、文字列内の特定の文字のインデックスを取得してください:-

NSString *string = @"88) 12-sep-2012";
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@")"];
NSRange range = [string rangeOfCharacterFromSet:charSet];

if (range.location == NSNotFound) 
{
    // ... oops
}
else {
    NSLog(@"---%d", range.location);
    // range.location is the index of character )
}

)文字の前の文字列を取得するには、これを使用します:-

NSString *str = [[string componentsSeparatedByString:@")"] objectAtIndex:0];
于 2012-09-12T10:32:01.280 に答える
3
NSUInteger index = [Original rangeOfString:@")"];

NSString *result = [Original substringWithRange:NSMakeRange(0, index)];
于 2012-09-12T09:47:17.707 に答える
1

別の解決策:

NSString *Original=@"88) 12-sep-2012";
NSRange range = [Original rangeOfString:@")"];
NSString *result = Original;

if (range.location != NSNotFound)
{
    result = [Original substringToIndex:range.location];
}

NSLog(@"Result: %@", result);
于 2012-09-12T09:49:39.350 に答える