カテゴリ: 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("メールアドレス形式の可能性があります")
}

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

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

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

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

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

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

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

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

関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のスコープとは?ローカル変数・グローバル変数の違いと使い分け
New2
Go言語
Go言語の構文ルールまとめ!インデント・セミコロンなど最初に知っておくポイント
New3
Kotlin
KotlinのwithTimeoutでタイムアウト処理を設定しよう!初心者にもわかる非同期の安全な止め方
New4
Go言語
Go言語のマップの順序保証がない理由と扱い方の工夫をやさしく解説!初心者でもわかる基本知識
人気記事
No.1
Java&Spring記事人気No1
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Kotlin
Kotlinのsettings.gradleファイルを完全解説!初心者でもわかるプロジェクト設定の基本
No.3
Java&Spring記事人気No3
Go言語
Swiftの配列(Array)の使い方を完全ガイド!初心者でもわかるデータのまとめ方
No.4
Java&Spring記事人気No4
Go言語
Go言語でREST APIを作る設計と実装パターン完全ガイド!初心者でもわかるAPI開発
No.5
Java&Spring記事人気No5
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.6
Java&Spring記事人気No6
Go言語
Go言語のSQLインジェクション対策を完全解説!初心者でも安全なデータベース操作がわかる
No.7
Java&Spring記事人気No7
Go言語
Go言語のgo installコマンドの役割とインストール先の仕組みを徹底解説!
No.8
Java&Spring記事人気No8
Go言語
Go言語のトランザクション処理を完全解説!Begin・Commit・Rollbackを初心者向けにやさしく理解