2015-08-29 57 views
3

我有这样一个字符串:@"The Happy Day",我想只在另一个字符串中保存"THD"。我怎样才能做到这一点?获取字符串中的空白后的字符在iOS中

+0

你是否特意试图捕捉第一个字母或首都? “活动日”是否应归还“TAD”,“ThD”或“THD”? – nbering

+0

对不起,在我的问题后读了标题。什么语言?你有一个命名的操作系统和开发环境,但这可能是Objective-C或Swift。 – nbering

+0

Hi Bro,我的意思是应该“hAppy Day”返回“ThD”和Objective-C语言。谢谢bro –

回答

1

我会做这样的...

NSString *string = @"The Happy Day"; 

// Create array of words in string... 
NSArray *words = [string componentsSeparatedByString:@" "]; 

// Create array to hold first letter of each word... 
NSMutableArray *firstLetters = [NSMutableArray arrayWithCapacity:[words count]]; 

// Iterate through words and add first letter of each word to firstLetters array... 
for (NSString *word in words) { 
    if ([word length] == 0) continue; 
    [firstLetters addObject:[word substringToIndex:1]]; 
} 

// Join the first letter error into a single string... 
NSString *acronym = [firstLetters componentsJoinedByString:@""]; 

它可以使用雨燕的功能类型,如map做要好得多,但也有不一样,在任何目的内置方法-C。

+0

谢谢,它对我很有帮助 –

+0

@DongNguyen它应该使用特定的字符串,但我已经修改了我的答案,以便它跳过空的单词 - 这可能发生如果一行中有两个空格或一个任何情况下都应该解决你遇到的问题。 – Robert

+0

嗨,兄弟,谢谢你,我修好了。 –

0
NSString *str = @"The Happy Day"; 

NSMutableString *result = [NSMutableString string]; 
[[str componentsSeparatedByString:@" "] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
     if(obj){ 
      [result appendString:[((NSString *)obj) substringToIndex:1]]; 
     } 

}]; 
+0

它有用(y) –