Как получить только первую букву от фамилии ФИО? - PullRequest
0 голосов
/ 07 мая 2018

Я хочу получить только первое письмо от фамилии для конфиденциальности пользователей. Пример: "Джон Д."

extension String
{
    public func getAcronyms(separator: String = "") -> String
    {
        let acronyms = self.components(separatedBy: " ").map({ String($0.characters.first!) }).joined(separator: separator);
        return acronyms;
    }
}

1 Ответ

0 голосов
/ 07 мая 2018

Для правильного именования вы должны использовать PersonNameComponentsFormatter.

let name =  "Joe Singh"
let nameFormatter = PersonNameComponentsFormatter()
if let nameComps  = nameFormatter.personNameComponents(from: name), let firstLetter = nameComps.givenName?.first, let lastName = nameComps.familyName {

     let sortName = "\(firstLetter). \(lastName)"  // J. Singh
 }

Вы также можете найти:

nameComps.middleName
nameComps.familyName
nameComps.nameSuffix 
nameComps.namePrefix   

А также можете настроить формат ваших имен

Default
short
long 
abbreviated
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...