在Swift中,什么是查看字符串是否与模式匹配的简单方法?

伪代码示例:

if string matches pattern ...

if string =~ pattern ...

(我读过Swift文档,还没有看到regex功能.我读过关于添加一个新的=~运算符的内容,这是一个好主意,但比我想要的更复杂,因为这是一个教学项目.我try 了rangeOfString,但得到了错误:"String"没有成员"rangeOfString".我正在寻找一个Swift解决方案,即不键入NSRegularExp谢谢.我不需要对匹配结果数据做任何处理.)

推荐答案

Swift版本3解决方案:

if string.range(of: regex, options: .regularExpression, range: nil, locale: nil) != nil ...

Swift版本2解决方案:

if string.rangeOfString(pattern, options: .RegularExpressionSearch) != nil ...

示例——这个字符串是否包含两个字母"o"字符?

"hello world".rangeOfString("o.*o", options: .RegularExpressionSearch) != nil

注意:如果您收到错误消息'String' does not have a member 'rangeOfString',请将其添加到import Foundation之前.这是因为

import Foundation

感谢Onno Eberhard的Swift 3更新.

Swift相关问答推荐

绑定到可选值的非可选属性?'

阴影动画的动画不流畅

在SwiftUI中,我如何确保带有符号的单词不会被拆分为两行?

如何在macOS中延迟退出应用程序的退出操作?

为什么变量不存储在 Swift 的过程数据区中

为什么无法在 Swift 中使用AVFoundation扫描 QRCode

macOS 的窗口框架中使用的真实类型和真实类型是什么?

如何裁剪图像 3:4 ?迅速

在 Vapor 4 中使用协议的通用流利查询

如何让动画变慢 SwiftUI

ZStack 中的 ProgressView 与 View 的行为不同

展开 List 中的 HStack 以端到端但不是从上到下,因此看起来项目之间有更宽的空间

更改该函数的参数之一时,如何将这些 SwiftUI 异步任务合并到一个任务中以从函数中获得正确的结果

如何防止 UITableViewCell 移动(Swift 5)

Swift 3.0 的 stringByReplacingOccurencesOfString()

在 Swift 框架中加载资源(例如故事板)

Swift 3:小数到 Int

使用 Swift 以编程方式自定义 UITableViewCell

在 Swift 中覆盖 UIScrollView 的委托属性(就像 UICollectionView 一样)

如何快速将弹出框调整为表格视图中内容的大小?