Swift: высокая производительность преобразования строк? - PullRequest
0 голосов
/ 03 октября 2018

У меня около 36000 файлов, содержащих около 250 слов в каждом, и мне нужно преобразовать каждое слово, удалив все десятичные символы и поместив в верхний регистр любые символы в верхнем регистре.

Я передаю каждое прочитанное слово в функции, которая возвращаетизмененное слово для того, чтобы я мог проиндексировать его позже.

Проблема в том, что при таком огромном количестве символов он очень медленный.

Я пытался перебирать свои строки, манипулироватьCharacters, как и в C, играть со значениями ascii, но Swift отчасти ужасен для этого, требуя постоянно восстанавливать строки из символов.

Я пришел с этим небольшим кусочком кода, но мои знания в Swift по этой конкретной теме слишком широки, чтобы найти лучшее.Также я использую Swift 4.2.

func processToken(token: String) -> String {
    var result = String()

    for ascii in token.utf8 {
        if ascii > 64 && ascii < 91 {
            result.append(String(UnicodeScalar(UInt8(ascii + 32))))
        }
        else if ascii > 96 && ascii < 123 {
            result.append(String(UnicodeScalar(UInt8(ascii))))
        }
    }
    return result
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...