Вы можете использовать CharacterSet.letters
, который содержит все символы в категориях Unicode L и M.
Категория M включает комбинирующие метки. Если вы не хотите этого, используйте:
CharacterSet.letters.subtracting(.nonBaseCharacters)
Кроме того, ваш способ проверить, содержит ли строка только символы в наборе символов, довольно странный. Я бы сделал что-то вроде этого:
return mergedString.trimmingCharacters(in: CharacterSet.letters) == ""