如何检查字符串是否仅包含拉丁字符?

Che*_*ong 3 string unicode swift

我需要根据我是否显示简单的英文字符串或其他语言中不是基于拉丁字符集的字符来为标签设置不同的字体.所以我只想知道整个字符串是否都是拉丁字符?我怎么能在Swift中做到这一点?我已经阅读了这个问题,但我认为我不能应用这个答案,因为我无法在检测中将所有拉丁字符(包括标记和标点符号)逐一指定.

请帮忙.谢谢.

Mar*_*n R 7

类似于如何在Swift中检查字符串是否包含中文?,你可以使用正则表达式来检查,如果没有字符 不是在"拉丁"字符类:

extension String {
    var latinCharactersOnly: Bool {
        return self.range(of: "\\P{Latin}", options: .regularExpression) == nil
    }
}
Run Code Online (Sandbox Code Playgroud)

\P{Latin}(使用大写"P")是匹配任何没有 "Latin"Unicode字符属性的字符的模式.