我只是想看看是否有一种既定的方法可以做到这一点,或者如何去做。
我有一个文本字段,它本质上充当我的 iOs 应用程序中的表单,用户可以在其中发布内容。我不能让用户发布脏话/不恰当的废话,所以我想过滤掉他们输入的字符串包含这些单词之一的内容并显示错误。
Swift 中的其他应用程序是如何做到这一点的?他们只是搜索字符串以查看它是否包含该单词(显然不在其他单词中,而是单独存在)还是有其他方法?
如何在 Swift 中准确过滤掉我的用户帖子中的脏话?
构建一个您认为是脏话的单词列表,然后只需检查用户输入的字符串,看看该字符串中是否包含这些单词。
Swift 3:
import Foundation
func containsSwearWord(text: String, swearWords: [String]) -> Bool {
return swearWords
.reduce(false) { $0 || text.contains($1.lowercased()) }
}
// example usage
let listOfSwearWords = ["darn", "crap", "newb"]
/* list as lower case */
let userEnteredText1 = "This darn didelo thread is a no no."
let userEnteredText2 = "This fine didelo thread is a go."
print(containsSwearWord(text: userEnteredText1, swearWords: listOfSwearWords)) // true
print(containsSwearWord(text: userEnteredText2, swearWords: listOfSwearWords)) // false
斯威夫特 2.2:
import Foundation
func containsSwearWord(text: String, swearWords: [String]) -> Bool {
return swearWords
.reduce(false) { $0 || text.containsString($1.lowercaseString) }
}
// example usage
let listOfSwearWords = ["darn", "crap", "newb"]
/* list as lower case */
let userEnteredText1 = "This darn didelo thread is a no no."
let userEnteredText2 = "This fine didelo thread is a go."
print(containsSwearWord(userEnteredText1, swearWords: listOfSwearWords)) // true
print(containsSwearWord(userEnteredText2, swearWords: listOfSwearWords)) // false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)