如何删除最后一个空格后的文字?

时间:2012-06-20 11:24:30

标签: iphone nsstring

我有像我的名字一样的NSString。我想在到达最后一个空格后删除文本。意味着在我想删除的最后一个空格之后出现的任何文字。答案就是我的名字。如果有人知道怎么做,请帮助我。

7 个答案:

答案 0 :(得分:8)

要从字符串中获取我的名字,请使用以下

NSString *str = @"My name is";
NSRange range = [str rangeOfString:@" " options:NSBackwardsSearch];
NSString *str2 = [str substringToIndex:range.location];

答案 1 :(得分:3)

NSString *str = @"My Name is";    
NSArray *ary = [[NSArray alloc]init];    
ary = [str componentsSeparatedByString:@" "];
str = [ary objectAtIndex:0];
str= [str stringByAppendingFormat:@" %@",[ary objectAtIndex:1]];

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用此代码 例如

  NSString *foo = @" untrimmed string  ";
  NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

答案 4 :(得分:0)

虽然不是最好的方式,但这会有效。

NSString *myName = [[NSString alloc] initWithString:@"My Name is."];
NSArray *splitComponents = [myName componentsSeparatedByString:@" "];
myName = [myName stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@" %@",[splitComponents lastObject]] withString:@""];

答案 5 :(得分:0)

您可以使用:

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

然后省略最后一个对象并创建新字符串。

答案 6 :(得分: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);