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