如何检查string是否包含空格/字母数字/ etc的字符?

如何在Swift中使用“ctype.h”库来在字符上使用isAlphaisSpace ? 还是有更好的,迅速的方法呢?

这个问题被回答,但它似乎不工作: 斯威夫特:如何找出如果字母是字母数字或数字

它没有指定如何导入库。 有人能指出我正确的方向吗?

这是迄今为止我所得到的:

 extension String { subscript (i : Int) -> String { return String(Array(self)[i]) } } let whitespace = NSCharacterSet.whitespaceCharacterSet() let phrase = "Test case" for var i=0; i<countElements(phrase); i++ { if whitespace.characterIsMember(phrase[i]) { //error println("char is whitespace") } } 

在整个string上使用NSCharacter,而不是逐个字符:

 let whitespace = NSCharacterSet.whitespaceCharacterSet() let phrase = "Test case" let range = phrase.rangeOfCharacterFromSet(whitespace) // range will be nil if no whitespace is found if let test = range { println("whitespace found") } else { println("whitespace not found") } 

输出:

 whitespace found 

我创build了一个string扩展,完成这个,希望它是有用的。

 extension String { func containsWhiteSpace() -> Bool { // check if there's a range for a whitespace let range = self.rangeOfCharacterFromSet(.whitespaceCharacterSet()) // returns false when there's no range for whitespace if let _ = range { return true } else { return false } } } 

较短的延伸(swift 3)

 extension String { var containsWhitespace : Bool { return(self.rangeOfCharacter(from: .whitespacesAndNewlines) != nil) } }