我只是想看看是否有一种既定的方法来做到这一点,或者人们将如何做到这一点。
我有一个文本字段,它本质上充当我的 iOs 应用程序中的一个表单,用户可以在其中发布一些内容。我不能让用户发布脏话/不恰当的废话,所以如果他们输入的字符串包含这些单词之一,我想过滤掉并显示错误。
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
Run Code Online (Sandbox Code Playgroud)
斯威夫特 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4394 次 |
| 最近记录: |