0

「私の名前は」のような NSString があります。最後のスペースに来た後のテキストを削除したい。削除したい最後のスペースの後に来るテキストを意味します。答えは私の名前です。どなたかやり方がわかる方いましたらよろしくお願いします。

4

7 に答える 7

8

文字列から私の名前を取得するには、次を使用します

NSString *str = @"My name is";
NSRange range = [str rangeOfString:@" " options:NSBackwardsSearch];
NSString *str2 = [str substringToIndex:range.location];
于 2012-06-20T11:30:08.713 に答える
3
NSString *str = @"My Name is";    
NSArray *ary = [[NSArray alloc]init];    
ary = [str componentsSeparatedByString:@" "];
str = [ary objectAtIndex:0];
str= [str stringByAppendingFormat:@" %@",[ary objectAtIndex:1]];
于 2012-06-20T12:09:57.067 に答える
0

これを使用できます:

NSArray *arr = [yourString componentsSeparatedByString:@" "];

次に、最後のオブジェクトを省略して、新しい文字列を作成します。

于 2012-06-20T11:29:28.917 に答える
0
NSString * str=@"My name is";
     NSArray *parameters = [str componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" "]];
    NSLog(@"%@",[parameters description]);

    NSRange rangeOfDash = [ str rangeOfString:[parameters lastObject]];
    NSString * output = (rangeOfDash.location != NSNotFound) ? [str substringToIndex:rangeOfDash.location-1] : nil;

     NSLog(@"answer%@",output);
于 2012-06-20T11:42:21.127 に答える
0

例としてこのコードを使用してください

  NSString *foo = @" untrimmed string  ";
  NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
于 2012-06-20T11:28:06.763 に答える
0

これはうまくいきますが、最善の方法ではありません

NSString *myName = [[NSString alloc] initWithString:@"My Name is."];
NSArray *splitComponents = [myName componentsSeparatedByString:@" "];
myName = [myName stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@" %@",[splitComponents lastObject]] withString:@""];
于 2012-06-20T11:29:14.893 に答える
0

これを行う最も簡単な方法は、" NSMutableString" の代わりに " "を使用することです。その後、 " " メソッドNSStringを実行できます。ここで、"range" パラメータは、削除する文字の範囲です。 deleteCharactersInRange:

于 2012-06-20T11:27:27.790 に答える