У меня около 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
}