如何找到Swift字符串中子字符串的最后一次出现?
在Objective-C中,我使用了:
[@"abc def ghi abc def ghi" rangeOfString:@"c" options:NSBackwardsSearch];
但是现在NSBackWardsSearch似乎不存在。谁能为Swift提供等效的代码?
我希望能够在整个字符串中找到字符数。因此,在上面的示例中,它将返回3。
回答:
可可框架应该可以在Swift中访问,但是您需要导入它们。尝试导入Foundation
以访问NSString API。从“将Swift与Cocoa和Objective-C结合使用”指南的“使用Cocoa数据类型-
字符串
”中:
Swift会在String类型和NSString类之间自动桥接。[…]要启用字符串桥接,只需导入Foundation。
另外,它NSBackwardsSearch
是一个枚举值,因此您必须使用Swift的enum
/
option语法来访问它(作为NSStringCompareOptions
选项类型的一部分)。前缀从C枚举值中剥离,因此NS
从值名称中删除。
总而言之,我们有:
import Foundation"abc def ghi abc def ghi".rangeOfString("c", options:NSStringCompareOptions.BackwardsSearch)
请注意,您可能必须使用distance
和advance
函数来正确使用from的范围rangeOfString
。
以上是 如何找到Swift字符串中子字符串的最后一次出现? 的全部内容, 来源链接: utcz.com/qa/401251.html