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

Swift 文字列 分割|components/separatedで配列化する方法を初心者向けに解説

Swift 文字列 分割|components/separatedで配列化する方法
Swift 文字列 分割|components/separatedで配列化する方法

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

生徒

「Swiftで文字列を分割して配列にしたいんですが、どうやるんですか?」

先生

「Swiftではcomponents(separatedBy:)splitというメソッドを使うことで、文字列を区切って配列に変換できます。例えばカンマ区切りのデータをバラバラにしたいときに便利ですよ。」

生徒

「なるほど!配列にできると後で処理しやすそうですね。」

先生

「その通りです。それではSwiftでの文字列分割の基本から順番に見ていきましょう!」

1. components(separatedBy:)とは?

1. components(separatedBy:)とは?
1. components(separatedBy:)とは?

components(separatedBy:)はSwiftの標準的な文字列分割メソッドです。指定した区切り文字(セパレータ)で文章を分割し、結果を配列にして返してくれます。


let fruits = "リンゴ,バナナ,オレンジ"
let array = fruits.components(separatedBy: ",")
print(array)

["リンゴ", "バナナ", "オレンジ"]

このように文字列がカンマごとに分割され、配列として扱えるようになります。

2. スペースで分割する

2. スペースで分割する
2. スペースで分割する

文章をスペースで分割すれば、単語ごとに区切ることができます。これは検索やテキスト処理で役立ちます。


let sentence = "Swift は 学習しやすい 言語 です"
let words = sentence.components(separatedBy: " ")
print(words)

["Swift", "は", "学習しやすい", "言語", "です"]

文章を単語ごとに区切ることで、自然言語処理やキーワード抽出の第一歩になります。

3. 改行で分割する

3. 改行で分割する
3. 改行で分割する

テキストファイルや複数行の入力を扱うときには、改行コードで分割すると便利です。


let text = "1行目\n2行目\n3行目"
let lines = text.components(separatedBy: "\n")
print(lines)

["1行目", "2行目", "3行目"]

改行文字\nを指定するだけで行ごとに配列化できます。日記アプリやログ解析でよく使われます。

4. splitメソッドとの違い

4. splitメソッドとの違い
4. splitメソッドとの違い

splitも文字列を分割するメソッドですが、返り値は配列ではなくSubstring型です。必要に応じてStringに変換する必要があります。


let text = "A-B-C"
let parts = text.split(separator: "-")
print(parts)

["A", "B", "C"]

結果はSubstringの配列になります。長く保持したい場合はString()で変換しましょう。

5. 空文字を含めない分割

5. 空文字を含めない分割
5. 空文字を含めない分割

複数の区切り文字が連続する場合、空の要素ができることがあります。splitではomittingEmptySubsequencesオプションを使うと、空文字を自動的に除外できます。


let text = "リンゴ,,バナナ,,,オレンジ"
let result = text.split(separator: ",", omittingEmptySubsequences: true)
print(result)

["リンゴ", "バナナ", "オレンジ"]

データに欠損や余分な区切りがある場合でも、きれいに配列化できます。

6. 実用例:CSVデータの処理

6. 実用例:CSVデータの処理
6. 実用例:CSVデータの処理

CSV(カンマ区切り)形式のデータを扱うとき、文字列分割はとても役立ちます。1行を読み込んで配列に変換すれば、列ごとに処理できます。


let csvLine = "001,山田太郎,30"
let columns = csvLine.components(separatedBy: ",")
print("ID: \(columns[0])")
print("名前: \(columns[1])")
print("年齢: \(columns[2])")

ID: 001
名前: 山田太郎
年齢: 30

この方法を応用すれば、データベースや表形式の情報を簡単に扱えます。

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

Swift実践入門をAmazonで見る

※ Amazon広告リンク

7. 文字列分割の使い分け

7. 文字列分割の使い分け
7. 文字列分割の使い分け

最後に、Swiftでの文字列分割の使い分けを整理します。

  • 配列としてすぐに使いたいcomponents(separatedBy:)
  • 高速でメモリ効率よく処理したいsplit
  • 空要素を除外したいsplit(omittingEmptySubsequences: true)

場面に応じて正しく選択することで、文字列処理の効率がぐんと上がります。

関連セミナーのご案内

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