繁体   English   中英

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

[英]How to remove text after last space?

我有NSString,例如“我的名字是”。 我要在最后一个空格后删除文本。 表示我想删除的最后一个空格之后的所有文本。 答案将是我的名字。 如果有人知道该怎么做,请帮助我。

要使用字符串获取“我的名字”,请使用以下命令

NSString *str = @"My name is";
NSRange range = [str rangeOfString:@" " options:NSBackwardsSearch];
NSString *str2 = [str substringToIndex:range.location];
NSString *str = @"My Name is";    
NSArray *ary = [[NSArray alloc]init];    
ary = [str componentsSeparatedByString:@" "];
str = [ary objectAtIndex:0];
str= [str stringByAppendingFormat:@" %@",[ary objectAtIndex:1]];

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

使用此代码例如

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

尽管不是最好的方法,这将起作用

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

您可以使用此:

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

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

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM