我所需要的只是使用NSPredicate
和evaluate
模式检查字符串是否包含.page.link
短语。
extension String {
func isValid(for string: String) -> Bool {
NSPredicate(format: "SELF MATCHES %@", string).evaluate(with: self)
}
}
let pattern = ".page.link" // "\\.page\\.link"
"joyone.page.link/abcd?title=abcd".isValid(for: pattern) //false
"joyone.page.link".isValid(for: pattern) //false
"joyone.nopage.link/abcd?title=abcd".isValid(for: pattern) //false
我知道有一种更简单的方法可以做到这一点,但它是更大的东西的一部分,我的模式只是枚举中的大小写。
前两个应该是true
。
2条答案
按热度按时间efzxgjgh1#
MATCHES
始终考虑整个字符串。range(of:options:)
也可以与Regex
通话,并且更易于使用wko9yo5t2#
当然@vadian的答案是非常正确的,这是推荐的,但这里的解决方案如下:
感谢您的评论,它认为一个完整的字符串。