gpt4 book ai didi

swift - 如何在 Swift 中使用 rangeOfString?

转载 作者:行者123 更新时间:2023-11-28 11:20:03 26 4
gpt4 key购买 nike

首先,我试图找出“rangeOfString”的功能。以我自己的理解,我认为“rangeOfString”是在字符串中查找某些特定内容的函数,例如单词。如单词“a”是“apple”的前半部分。此解释如何显示在函数的返回中。 NSRange 是该函数的返回类型。由于我的英语不好,我无法理解“NSRange”的官方引用。

问题是:

  1. 我对“rangeOfString”的理解正确吗?
  2. 如何使用这个功能?如何在该函数中设置参数?

非常感谢您的指导和帮助。

伊桑·乔

最佳答案

英语有一句谚语:“needle in a haystack”,指的是大海捞针的难处,因为针和干草的叶子都又长又瘦,而干草堆通常比大海捞针大针。

假设您有一大块文本,即您的“大海捞针”。您想知道在大海捞针的哪个位置可以找到一小块文本,即您的“针”。您可以使用 rangeOfString 消息大海捞针。

这是一个例子:

$ xcrun swift -framework Foundation
1> import Foundation
2> let haystack: NSString = "the function to find some specify thing in the string"
haystack: NSString = "the function to find some specify thing in the string"
3> let needle: NSString = "function"
needle: NSString = "function"
4> haystack.rangeOfString("function")
$R0: NSRange = location=4, length=8
5>

rangeOfString 消息返回一个NSRange,它包含两部分:

  • location 是大海捞针开始的索引。 haystack 开头的索引为零。
  • length 是针的长度。

您可能已经注意到 length 并不是必需的,因为您可以直接询问针的长度 (needle.length)。但是 NSRange 用于 length 部分可能不明显的其他事情。

如果大海捞针不在,rangeOfString 返回一个看起来很有趣的位置:

  5> haystack.rangeOfString("Ethan Joe")
$R1: NSRange = location=9223372036854775807, length=0

说什么?好吧,它实际上返回了一个名为 NSNotFound 的常量:

  6> NSNotFound
$R2: Int = 9223372036854775807

您可以使用该常量来检查针是否丢失:

  7> if haystack.rangeOfString("Ethan Joe").location == NSNotFound { 
8. println("Where did he go?")
9. }
Where did he go?

关于swift - 如何在 Swift 中使用 rangeOfString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com