ios - 将文本的一部分与字符串进行比较

标签 ios swift range

我正在尝试获取文本的范围,我这样做了:

let telRange = Range(start: tfTelephone.text!.startIndex, end: tfTelephone.text!.endIndex.advancedBy(2))

在此之后我尝试比较:

if (telRange == "08")

但是我收到一个错误:

Binary operator '==' cannot be applied to operands of type 'Range' (aka 'Range') and 'String'

最佳答案

首先,不要强制解包,而是使用 if-let 。其次,您无法比较 RangeString,您很可能想比较该范围的子字符串。第三,您无法从 endIndex 向前推进。

let telRange: String
if let text = tfTelephone.text {
    telRange = text[text.startIndex...text.endIndex.advancedBy(-2)]
} else {
    telRange = ""
}

类似上面的东西应该可以工作,您可以调整索引和 advanceBy 参数以满足您的期望。

关于ios - 将文本的一部分与字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34606836/

相关文章:

swift - 调整 Swift 代码以与 Swift 3 配合使用

swift - Xcode 中 UIScrollView 和 Storyboards 的存在和问题

postgresql - 如何检查 PostgreSQL 9.3 中右侧的无限范围是否为 NULL - 确保使用 GIST 索引

ios - 尝试呈现其 View 不在窗口层次结构中的 vc

ios - 打开 iOS 消息应用程序并直接转到收件箱/消息列表

ios - 将 UIImage 保存到 PHAssetCollection

ios - UIScrollView 崩溃

ios - 如何在 Swift 中将文本 (String) 转换为图像 (UIImage)?

javascript - 使用 Shift 键时如何限制选择元素中的选定选项

swift - CountableRange的startIndex和lowerBound有什么区别?