2012-06-20 3 views
0

У меня есть NSString как «Мое имя». Я хочу удалить текст после последнего пробела. Значит, какой бы текст ни появлялся после последнего пробела, я хочу удалить его. Ответ будет тогда Моим именем. Пожалуйста, помогите мне, если кто-нибудь знает, как это сделать.Как удалить текст после последнего пробела?

ответ

8

Чтобы получить имя Моего используйте форму вашей строки следующей

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

Спасибо большое Это очень полезно :) – python

+0

приветствую :) –

0

Самый простой способ сделать это состоит в использовании «NSMutableString» вместо «NSString», а затем вы можете сделать "deleteCharactersInRange:" method, где параметр «Диапазон» является диапазон символов, которые вы хотите удалить.

0

Используйте этот код Для примера

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

Это не отвечает на его вопрос! – Anne

0

Это будет работать, хотя и не лучший способ

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

Вы можете использовать это:

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

Затем опустить последний объект и создать новая строка.

0
NSString * [email protected]"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); 
3
NSString *str = @"My Name is";  
NSArray *ary = [[NSArray alloc]init];  
ary = [str componentsSeparatedByString:@" "]; 
str = [ary objectAtIndex:0]; 
str= [str stringByAppendingFormat:@" %@",[ary objectAtIndex:1]]; 
Смежные вопросы