対象: 文字列を検索する(Swift)文字列中にある任意の文字列を検索するにはrangeメソッドが利用できる。 let sentence = "Apple?は新しい言語Swiftを発表しました。" // 文字列が見つかると範囲が返る if let range = sentence.range(of: "Swift") { print("\(sentence[range])が見つかりました。") } else { print("文字列は見つかりませんでした。") } Swiftが見つかりました。 rangeメソッドで大文字小文字を区別せず(case-insensitive)に任意の文字列を検索するには、options引数でString.CompareOptions.caseInsensitiveを渡せば良い。 // 文字列が見つかると範囲が返る if let range = sentence.range(of: "swift",options: .caseInsensitive) { print("\(sentence[range])が見つかりました。") } else { print("文字列は見つかりませんでした。") } あるいは、rangeメソッドのoptions引数にString.CompareOptions.regularExpressionを指定すると、正規表現を使った検索が可能になるので、これを利用して文字列を検索することもできる。(?i)フラグを検索したい文字列の前に付加すると、大文字小文字を区別せずに検索できる。 if let range = sentence.range(of: "(?i)swift", options: .regularExpression) { (2015/02/18) () Swift 3.0対応。
Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]
|