Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-如何检查不包含标点和数字的字符串_Swift - Fatal编程技术网

Swift-如何检查不包含标点和数字的字符串

Swift-如何检查不包含标点和数字的字符串,swift,Swift,我想检查一个字符串,以便能够理解该字符串适合用作应用程序中的显示名称。下面的块只查找英文字符。我怎样才能涵盖所有语言字母?此外,不允许使用所有标点符号和数字 func isSuitableForDisplayName(inputString: String) -> Bool { let mergedString = inputString.stringByRemovingWhitespaces let characterset = CharacterSet(charac

我想检查一个字符串,以便能够理解该字符串适合用作应用程序中的显示名称。下面的块只查找英文字符。我怎样才能涵盖所有语言字母?此外,不允许使用所有标点符号和数字

func isSuitableForDisplayName(inputString: String) -> Bool {

    let mergedString = inputString.stringByRemovingWhitespaces

    let characterset = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
    if mergedString.rangeOfCharacter(from: characterset.inverted) != nil {
       return false
    } else {
       return true
    }
}
您可以使用,它包含Unicode类别L和M中的所有字符

M类包括组合标记。如果您不想要这些,请使用:

CharacterSet.letters.subtracting(.nonBaseCharacters)
另外,检查字符串是否只包含字符集中的字符的方法也很奇怪。我会这样做:

return mergedString.trimmingCharacters(in: CharacterSet.letters) == ""

谢谢我用你们的答案更新了上面的问题。那么它的用途好吗?在检查之前,我也会删除空格。@iamburak查看对我答案的编辑。检查字符串是否只包含字符集中的字符的方法非常奇怪。