簡體   English   中英

如何在Swift 4中搜索字符串中的子字符串?

[英]How to search a substring in string in Swift 4?

我似乎無法在Swift 4中找到String的API。目標-C等效如下。

NSString *s = @"abcdefg";
NSString *ss = @"cde";
// just check if s contains ss
NSLog(@"%d", [s containsString:ss]);
// get range of ss in s
NSLog(@"%@", NSStringFromRange([s rangeOfString:ss]));

我錯過了什么?


編輯:

我收到此錯誤消息:

test.swift:1:19: error: cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')
"abcdef".contains("cde")

所以我沒有意識到我錯過了“進口基金會”......

String將有一個

func contains<T>(_ other: T) -> Bool where T : StringProtocol 

導入Foundation后,這將可用,因為它映射到NSString

open func contains(_ str: String) -> Bool

Infact import Foundation使用所有NSString的功能擴展了Swift的String ,你可以在這里找到它的文檔

原因:雨燕的String 作為演變為NSString ,因此它的吧,現在ATLEAST。


無論如何...

檢查子字符串的Swift 4解決方案是:

let string = "Hello, World"
let hasSubstring = string.contains("ello")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM