カテゴリ: 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:)を使うと文字列内での位置を見つけられます。その範囲を指定して切り出すことで、特定の単語を抽出できます。

7. SubstringとStringの使い分け

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

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

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

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

カテゴリの一覧へ
新着記事
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
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.5
Java&Spring記事人気No5
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
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のインストール手順と初期設定を初心者向けに完全解説!