カテゴリ: 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

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

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

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

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

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

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

カテゴリの一覧へ
新着記事
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のインストール手順と初期設定を初心者向けに完全解説!