swift - SQL like & 匹配 Swift 中字符串上的查询
问题描述
我想编写一个可以与两个字符串进行比较的函数。
像这样的东西:
func stringComparison(_ str1:String, comparisonOperator:StringComparisonOperator, _ str2:String)
{
...
}
我想支持以下类型StringComparisonOperator
enum StringComparisonOperator {
case equals
case contains
case beginsWith
case endsWith
case like
case matches
}
Swift 提供==
(for equals)、.contains
(for contains)、.hasPrefix
(for beginWith) 和.hasSuffix
(for endsWith)。
但是,我对选项like
和matches
选项一无所知。有人可以帮助我吗?
解决方案
您可以为喜欢和匹配创建中缀运算符
infix operator =~
func =~ (string: String, regex: String) -> Bool {
return string.range(of: regex, options: .regularExpression) != nil
}
并使用:"abcd" =~ "ab*cd"
推荐阅读
- c++ - 解决 C++ 中的循环引用变量依赖关系
- docker - Mesos Json 到 Kubernetes YAML
- angular - 使用大声笑代码解决 - 如何在 nativescript Angular 6 中绑定数据?
- java - mongo驱动程序api中使用的Document,BasicDBObject,BsonDocument之间的实际区别是什么
- javascript - 如何停止处理我的服务器端功能?
- postgresql - postgresql:选择/更新 where column-varchar = "numericstring"
- node.js - 带有节点 js 的 AWS ioredis
- javascript - 如何以非常具体的方式截断字符串
- ios - 检查是否创建了多个 UIScrollView
- angularjs - Ionic 3 组件,运行时错误:无法读取未定义的属性“推送”(导航)