我想要做的是检查字符串中是否存在整个单词。我举个例子。
join(R1,Ai,join(R2,Bj,R3,Ck),Bj)
这里的情况确实如此,但我不想这样。我希望它能成为真正的"这个"或"是"或" a"或者"我的"或"字符串"在mainString中搜索,这意味着我要比较整个单词而不是字符串中的字符。我希望我已经详细说明了。
答案 0 :(得分:2)
//以下方法将返回没有标点符号的字符串和非必需的填充字符
信息来源:How to remove special characters from string in Swift 2?
func removeSpecialCharsFromString(mainString) -> String {
let okayChars : Set<Character> =
Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ".characters)
return String(text.characters.filter {okayChars.contains($0) })
}
let stringWithoutSpecialChars = removeSpecialCharsFromString(mainString)
//信息来源:Chris在此页面上的回答
let components = stringWithoutSpecialChars.componentsSeparatedByString(" ")
for component in components {
print(component)
}
答案 1 :(得分:1)
你必须使用这样的正则表达式:
NSString *pattern = @"\\str\\b";
NSRange range = [text rangeOfString:pattern options:NSRegularExpressionSearch|NSCaseInsensitiveSearch];
模式末尾的\ b执行您想要的操作,它只匹配整个单词。
答案 2 :(得分:1)
我建议将字符串拆分为组件,并查看组件是否与您的字符串匹配。下面是一个方法,它使用组件来检查任何单词是否与给定的搜索词匹配。
func isTermInString(term:String, stringToSearch:String) -> Bool {
let components = stringToSearch.componentsSeparatedByString(" ")
for component in components {
if component == term {
return true
}
}
return false
}