Swift の String(文字列)の置換と検索
ここでは Swift 文字列の置換と検索をする方法についてご説明します。
Swift の String(文字列)を置換する
Swift で String(文字列)の中の文字を置換するには、NSString の replacingOccurrences() メソッドが使えます。
replacingOccurrences() メソッドの構文は次の通りです。
replacingOccurrences(of: "置換元の文字列", with: "置換後の文字列")
文字列の中の "置換元の文字列" を "置換後の文字列" に置換した新しい文字列を返します。
それでは、replacingOccurrences() メソッドを使って、文字列を置換してみましょう。
NSString のメソッドを使うので、Foundation のインポートが必要になります。
import Foundation
var s = "What's your favorite color?"
print(s.replacingOccurrences(of: "color", with: "food"))
print(s.replacingOccurrences(of: "r", with: "R"))
実行結果は次のようになります。 それぞれ元の文字列の、置換元に指定した文字列が、置換後の文字列に置換されていますね。
What's your favorite food?
What's youR favoRite coloR?
replacingOccurrences() メソッドを使って、空の文字列 "" に置換することで、指定した文字を削除したりするのにも使えますね。
Swift の String(文字列)を検索する
文字列の中に指定した文字列含まれているかどうかを検索したい時は contains() メソッドが使えます。
検索元の文字列.contains("検索したい文字列") のように指定し、「検索元の文字列」に「検索したい文字列」が含まれている時は true、含まれていなければ false を返します。
contains() は String のメソッドですが、引数を String 型から Character 型に変換するのに Foundation をインポートする必要があります。
それでは、contains() メソッドを使って、次のような文字列 s に "color" と "food" という文字が含まれているか確認してみます。
import Foundation
var s = "What's your favorite color?"
print(s.contains("color"))
print(s.contains("food"))
実行結果は次のようになります。color は存在しているので true が、food は存在していないので false が print されています。
true
false
以上、Swift 文字列の置換と検索をする方法についてご説明しました。