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

Swift 文字列 切り出し・部分文字列(Substring)の扱い方を初心者向けに解説

Swift 文字列 切り出し・部分文字列(Substring)の扱い方
Swift 文字列 切り出し・部分文字列(Substring)の扱い方

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

生徒

「Swiftで文字列の一部だけを取り出したいんですが、どうすればいいんですか?」

先生

「Swiftでは文字列を切り出す方法がいくつかあります。部分文字列(Substring)という仕組みを使って、効率よく取り出すこともできますよ。」

生徒

「Substringって何ですか?普通のStringとは違うんですか?」

先生

「良い質問ですね。SubstringはStringの一部分を表す型で、元の文字列を参照する特徴があります。それでは具体的に見てみましょう!」

1. Swiftの文字列を切り出す基本

1. Swiftの文字列を切り出す基本
1. Swiftの文字列を切り出す基本

文字列を切り出すとは、文章の中から必要な一部だけを取り出す操作です。例えば「Swift言語」という文字列から「Swift」や「言語」だけを抽出するイメージです。Swiftではprefixsuffixを使う方法が直感的で初心者に向いています。


let text = "Swift言語"
let firstPart = text.prefix(5)
let lastPart = text.suffix(2)
print(firstPart)
print(lastPart)

Swift
言語

prefixは先頭から指定した文字数、suffixは末尾から指定した文字数を切り出します。

2. インデックスを使った部分文字列の取り出し

2. インデックスを使った部分文字列の取り出し
2. インデックスを使った部分文字列の取り出し

Swiftの文字列はインデックスという仕組みで管理されています。インデックスとは、文字の位置を示す番号のようなものです。ただし、Swiftでは単純な数字ではなく特別な型を使います。


let text = "プログラミング"
let startIndex = text.startIndex
let endIndex = text.index(startIndex, offsetBy: 4)
let sub = text[startIndex...endIndex]
print(sub)

プログラ

この例では先頭から5文字分を切り出しています。startIndexは文字列の最初を示し、offsetByで何文字先まで取るか指定しています。

3. Substring型とは?

3. Substring型とは?
3. Substring型とは?

Swiftで文字列を切り出すと、結果はSubstring型になることがあります。Substringは元の文字列を参照する仕組みを持ち、メモリの節約につながります。ただし長く保持すると元の文字列全体を記憶し続けるため注意が必要です。


let text = "Hello, Swift!"
let part = text.prefix(5)
print(type(of: part))

Substring

出力を見ると、切り出した結果はSubstringであることがわかります。

4. SubstringをStringに変換する

4. SubstringをStringに変換する
4. SubstringをStringに変換する

Substringをそのまま使うこともできますが、長期間保持したい場合や他の処理で使いたい場合はStringに変換するのが安全です。


let text = "Swift入門"
let sub = text.prefix(5)
let converted = String(sub)
print(converted)

Swift

String()でラップするだけで簡単に変換できます。これにより扱いやすくなります。

5. 特定の文字で分割して取り出す

5. 特定の文字で分割して取り出す
5. 特定の文字で分割して取り出す

文字列を特定の区切り文字で分割する方法もよく使います。Swiftではsplitメソッドを使って分割し、部分文字列を取り出せます。


let sentence = "リンゴ,バナナ,オレンジ"
let fruits = sentence.split(separator: ",")
for fruit in fruits {
    print(fruit)
}

リンゴ
バナナ
オレンジ

この方法はCSV(カンマ区切りのデータ)などを扱うときに便利です。

6. 部分文字列の応用:検索と切り出し

6. 部分文字列の応用:検索と切り出し
6. 部分文字列の応用:検索と切り出し

文字列の中で特定の単語を探して、その前後を切り出すことも可能です。例えば「Swiftで学ぶプログラミング」という文章から「プログラミング」を探して、その部分だけを切り出す例です。


let text = "Swiftで学ぶプログラミング"
if let range = text.range(of: "プログラミング") {
    let sub = text[range]
    print(sub)
}

プログラミング

range(of:)を使うと文字列内での位置を見つけられます。その範囲を指定して切り出すことで、特定の単語を抽出できます。

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

Swift実践入門をAmazonで見る

※ Amazon広告リンク

7. SubstringとStringの使い分け

7. SubstringとStringの使い分け
7. SubstringとStringの使い分け

初心者が迷いやすいのがSubstringとStringの違いです。簡単にまとめると次のようになります。

  • Substring … 元の文字列の一部を効率的に参照。短期間の利用に向いている。
  • String … 独立した文字列データ。長期間保持や再利用に適している。

実際の開発では、処理の目的に応じて変換しながら使い分けることが重要です。

関連セミナーのご案内

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を初心者向けにやさしく理解