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

最简单的方法是使用“ NSMutableString”而不是“ NSString”,然后您可以执行deleteCharactersInRange:”方法,其中“range”参数是您要删除的字符范围。

于 2012-06-20T11:27:27.790 回答
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

你可以使用这个:

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 回答