カテゴリ: Swift 更新日: 2025/12/08

Swift 文字列 置換・検索の実用テクニック(replacing/contains)を初心者向けに解説

Swift 文字列 置換・検索の実用テクニック(replacing/contains)
Swift 文字列 置換・検索の実用テクニック(replacing/contains)

先生と生徒の会話形式で理解しよう

生徒

「Swiftで文章の中の単語を別の言葉に置き換えたり、ある単語が含まれているか調べたりできますか?」

先生

「はい、できますよ。SwiftではreplacingOccurrencesで文字列を置換したり、containsで検索できます。アプリ開発ではとてもよく使う基本テクニックです。」

生徒

「なるほど!例えば文章の中の単語を一括で置き換えたり、禁止ワードが入っているか確認するみたいなことができるんですね。」

先生

「その通りです。ではSwiftの置換と検索の具体的な使い方を見ていきましょう!」

1. 文字列の置換(replacingOccurrences)

1. 文字列の置換(replacingOccurrences)
1. 文字列の置換(replacingOccurrences)

Swiftで文字列を置き換えるには、replacingOccurrences(of:with:)メソッドを使います。このメソッドは指定した文字列を別の文字列に変換して新しい文字列を返します。


let text = "私はJavaが好きです"
let newText = text.replacingOccurrences(of: "Java", with: "Swift")
print(newText)

私はSwiftが好きです

この例では「Java」を「Swift」に置き換えました。実際の開発では文章をユーザーに合わせて変えたいときやデータ変換に使えます。

2. 全ての一致を置換する

2. 全ての一致を置換する
2. 全ての一致を置換する

replacingOccurrencesは文字列に含まれるすべての一致箇所を置き換えます。例えば「バナナ」という文字が複数出てくる文章をすべて「リンゴ」に置換することも可能です。


let sentence = "バナナは黄色い。バナナは甘い。"
let result = sentence.replacingOccurrences(of: "バナナ", with: "リンゴ")
print(result)

リンゴは黄色い。リンゴは甘い。

すべての一致をまとめて置換できるので、テキスト編集やデータ処理に便利です。

3. 特定の条件に基づいて置換

3. 特定の条件に基づいて置換
3. 特定の条件に基づいて置換

置換にはオプションを指定することもできます。例えば大文字と小文字を区別せずに検索したい場合は、.caseInsensitiveというオプションを使います。


let text = "Hello Swift. hello swift."
let result = text.replacingOccurrences(of: "hello", with: "Hi", options: .caseInsensitive)
print(result)

Hi Swift. Hi swift.

このようにオプションを付けることで、検索条件を柔軟に変えることができます。

4. 文字列の検索(contains)

4. 文字列の検索(contains)
4. 文字列の検索(contains)

ある文字列の中に特定の単語が含まれているかどうか調べたいときはcontainsを使います。結果はtrue(含まれている)かfalse(含まれていない)で返されます。


let text = "今日はSwiftを勉強します"
print(text.contains("Swift"))
print(text.contains("Java"))

true
false

「Swift」が含まれている場合はtrueとなり、「Java」が含まれていないのでfalseになります。

5. 部分一致と完全一致の違い

5. 部分一致と完全一致の違い
5. 部分一致と完全一致の違い

containsは部分一致を判定します。つまり文章にその単語が一部でも含まれていればtrueになります。完全一致を確認したい場合は比較演算子(==)を使います。


let word = "Swift"
print(word.contains("Swi"))  // 部分一致
print(word == "Swift")       // 完全一致

true
true

場面に応じて「部分一致」と「完全一致」を使い分けることが重要です。

6. 複数のキーワードをチェックする

6. 複数のキーワードをチェックする
6. 複数のキーワードをチェックする

禁止ワードチェックなどでは、複数の単語が含まれているかを調べたい場合があります。そんなときはcontainsと繰り返し処理を組み合わせて確認できます。


let text = "この文章には禁止ワードがあります"
let ngWords = ["禁止", "NG", "ダメ"]

for word in ngWords {
    if text.contains(word) {
        print("禁止ワード: \(word) が含まれています")
    }
}

禁止ワード: 禁止 が含まれています

このように複数の単語をまとめてチェックすることで、入力の検証やセキュリティ対策に役立ちます。

7. 実用例:メールアドレスの形式を簡単に確認

7. 実用例:メールアドレスの形式を簡単に確認
7. 実用例:メールアドレスの形式を簡単に確認

containsを応用すると、入力された文字列がメールアドレスらしいかどうか簡単に判定することもできます。例えば「@」が入っているか確認するだけでも最低限のチェックになります。


let email = "user@example.com"
if email.contains("@") {
    print("メールアドレス形式の可能性があります")
}

メールアドレス形式の可能性があります

実際のアプリではさらに厳密なチェックが必要ですが、初心者が理解するにはこのような例がわかりやすいです。

8. 置換と検索の使い分け

8. 置換と検索の使い分け
8. 置換と検索の使い分け

最後に、文字列の置換と検索の使い分けを整理しておきましょう。

  • 文字列を変えたいときreplacingOccurrences
  • 文字列に含まれているか調べたいときcontains

これらを組み合わせると、文章編集やデータ処理の幅が広がります。例えば禁止ワードが含まれていたら置換で「***」に変えるといった応用も可能です。

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
New2
Kotlin
Kotlinのコーディング規約(公式スタイルガイド)とは?読みやすいコードを書くための基本ルール
New3
Kotlin
Kotlinの関数型を整理するパッケージ・ファイル構造の例を初心者向けにやさしく解説!
New4
Swift
Swiftデータ型まとめ|String・Int・Bool・Arrayの基本を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.4
Java&Spring記事人気No4
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.5
Java&Spring記事人気No5
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.6
Java&Spring記事人気No6
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.7
Java&Spring記事人気No7
Kotlin
Kotlinのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.8
Java&Spring記事人気No8
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!