Строка, содержащая первые буквы слов в другой строке

Пример того, что я пытаюсь сделать:

let string = "This is my sentence" 

Я хочу получить это как результат: «TIMS»

По какой-то причине я боюсь быстрыми и струнными

 class func getStringOfStartingLetter(str:String) -> String{ var firstCharacters: NSMutableString = NSMutableString() let words: [AnyObject] = str.componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) for word in words { if word.length() > 0 { let firstLetter: String = word.substringToIndex(1) firstCharacters.appendString(firstLetter.uppercaseString) } } return firstCharacters as String } 

Попробуй это:

 let str = "This is my sentence" var strArr = str.componentsSeparatedByString(" ") .map() { $0.characters.first ?? " " }.reduce("") { initVal, obj in "\(initVal)\(obj)" } print("Arr : \(strArr)") 

Вы могли бы сделать это даже так:

 var a = "This is my sentence".characters.split(" ") .map() { $0.first! // Or thanks to @EricD use more safeties way: $0.first ?? " " } 

для Objective-c i

 NSMutableString * firstCharacters = [NSMutableString string]; NSArray * words = [@"this is my sentence" componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; for (NSString * word in words) { if ([word length] > 0) { NSString * firstLetter = [word substringToIndex:1]; [firstCharacters appendString:[firstLetter uppercaseString]]; } } 

Хорошее расширение для String :

 extension String { func uppercasedFirstLetters() -> String { let arrayOfWords = self.componentsSeparatedByString(" ") let firstLetters: [String] = arrayOfWords.map { if let character = $0.characters.first { return String(character) } return "" } return firstLetters.joinWithSeparator("").uppercaseString } } 

Применение:

 let outputString = "This is my string".uppercasedFirstLetters() //TIMS 

Как насчет этого:

 let str = "This is my sentence" var res = str.componentsSeparatedByString(" ").reduce("") { if let character = $1.characters.first { return $0 + String(character).uppercaseString } return $0 } print(res) 
  • Как уменьшить размер файла .ipa
  • Синтаксическая ошибка Swift 2 с направлением .Forward
  • Как я могу использовать swift 2 и swift 3 одновременно?
  • Строка поиска для нескольких подстрок в iOS Swift
  • Переход на Xcode 7 / Swift 2.0 заставляет приложение застревать на экране запуска
  • Swift: Условие комбинирования и if-let с логическим или
  • Добавить массив строк в строку в Swift
  • Загрузка пользовательского UITableViewCell из nib в UIViewController в Swift
  • Создание массива UIColor в быстром
  • Как сделать сообщение UIAlertController для копирования в swift2, iOS9?
  • Ошибка при настройке google analytics в swift 2 и xcode 7 beta 4
  • Давайте будем гением компьютера.