[英]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.