対象:
Swift3

文字列を検索する(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対応。

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]