Ios 有没有更好的方法来匹配脏字符的大小写?
我正在用Swift 2.0编写一个iPhone应用程序,我不希望人们能够在文本字段中输入脏字符。我试图将这段代码包装成一个函数,并返回一个bool,以便稍后在应用程序中使用。到目前为止,代码完成了它在操场上应该做的事情,而没有封装在函数中。然而,当我把它包装成一个函数时,游乐场不喜欢这个代码。有没有更简单的方法来做我正在做的事情 我是Swift 2.0新手,已经阅读了编程指南,但不确定如何在SDK/API中查找所需的函数。我以前读过苹果的文档,但我不知道如何使用它。我似乎永远都找不到我要找的信息 必须有一种方法来阻止成百上千的传球 我还想看看以后如何使用返回值。《编程指南》没有给出一个很好的现实例子 这是我的第一语言Ios 有没有更好的方法来匹配脏字符的大小写?,ios,iphone,swift2,swift2.1,Ios,Iphone,Swift2,Swift2.1,我正在用Swift 2.0编写一个iPhone应用程序,我不希望人们能够在文本字段中输入脏字符。我试图将这段代码包装成一个函数,并返回一个bool,以便稍后在应用程序中使用。到目前为止,代码完成了它在操场上应该做的事情,而没有封装在函数中。然而,当我把它包装成一个函数时,游乐场不喜欢这个代码。有没有更简单的方法来做我正在做的事情 我是Swift 2.0新手,已经阅读了编程指南,但不确定如何在SDK/API中查找所需的函数。我以前读过苹果的文档,但我不知道如何使用它。我似乎永远都找不到我要找的信息
var randomText: String = "D*rtyCh4ract3rs!#"
var isCleanText:Bool = true
let dirtyCharacters: String = "~`!@#$%^&*()_+=-{}[]|;\'<>,./?1234567890"
var dirtyStringArray = [String]()
var boolCountArray = [Bool]()
for singleCharacter in dirtyCharacters.characters {
dirtyStringArray.append("\(singleCharacter)")
for testCase in dirtyStringArray {
if (randomText as NSString).containsString(testCase).boolValue {
boolCountArray.append((randomText as NSString).containsString(testCase).boolValue)
if boolCountArray.count > 0 {
isCleanText = false
print(boolCountArray)
break
} else {
isCleanText = true
}
}
}
}
var randomText:String=“D*rtyCh4ract3rs!”
var isCleanText:Bool=true
让dirtyCharacters:String=“~`!@$%^&*()_+=-{}[]|;\”,./?1234567890”
var dirtyStringArray=[String]()
var boolcontarray=[Bool]()
对于dirtyCharacters.characters中的单个字符{
dirtyStringArray.append(“\(单字符)”)
对于dirtyStringArray中的testCase{
if(随机文本作为NSString).containssString(testCase).boolValue{
追加((作为NSString的随机文本)。包含字符串(testCase).boolValue)
如果boolcontarray.count>0{
isCleanText=false
打印(boolcontarray)
打破
}否则{
isCleanText=true
}
}
}
}
打印(isCleanText)使用
NSCharacterSet
保存“脏”字符:
let dirtyCharacters = NSCharacterSet(charactersInString: "~`!@#$%^&*()_+=-{}[]|;\'<>,./?1234567890")
您可以过滤掉所有“脏”字符,如下所示:
let isCleanText = randomText.rangeOfCharacterFromSet(dirtyCharacters) == nil
let cleanedText = randomText.componentsSeparatedByCharactersInSet(dirtyCharacters)
.joinWithSeparator("")
这里面塞满了多汁的食物。有一个filter()
函数,请查找它。