Swift 文字列 結合・フォーマットの定番パターンを初心者向けに解説
生徒
「Swiftで文字列をつなげたり、きれいに表示する方法を知りたいです。文字列の結合やフォーマットってどうやるんですか?」
先生
「文字列の結合は、複数の文章を1つにまとめる操作のことです。そしてフォーマットは、数字や変数を文字列に埋め込んで見やすく整える方法です。Swiftではどちらも簡単にできますよ。」
生徒
「具体的にどんな書き方をするのか気になります!」
先生
「では、Swiftの文字列結合とフォーマットの基本パターンを順番に見ていきましょう!」
1. 文字列の結合(+演算子を使う)
Swiftで最も基本的な文字列の結合方法は、+演算子を使う方法です。例えば「Swift」と「入門」という2つの文字列を結合して「Swift入門」とすることができます。
let text1 = "Swift"
let text2 = "入門"
let combined = text1 + text2
print(combined)
Swift入門
+を使う方法は直感的で覚えやすいため、初心者が最初に使うのに最適です。
2. 文字列補間を使った結合
文字列補間(じぶんで変数を埋め込む仕組み)は、ダブルクォーテーションの中に\()を使って変数や計算結果を直接埋め込む方法です。
let name = "太郎"
let age = 20
let message = "私の名前は\(name)で、年齢は\(age)歳です。"
print(message)
私の名前は太郎で、年齢は20歳です。
この方法はコードが読みやすく、自然な文章を作りやすいのが特徴です。アプリのメッセージ表示やログ出力などでよく使われます。
3. 複数行の文字列結合("""を使う)
Swiftでは"""(ダブルクォート3つ)を使うと、複数行にわたる文字列をまとめて書くことができます。これは「複数行文字列リテラル」と呼ばれます。
let longText = """
これは複数行の
文字列を
結合して書いた例です。
"""
print(longText)
これは複数行の
文字列を
結合して書いた例です。
改行を含む長い文章を扱いたいときに便利で、説明文やテンプレートの文章をまとめたい場合に役立ちます。
4. String(format:)を使ったフォーマット
String(format:)を使うと、数字や小数点を整った形で表示することができます。これは「フォーマット指定子」と呼ばれる記号を使う方法です。
let score = 95.456
let formatted = String(format: "点数は%.2f点です", score)
print(formatted)
点数は95.46点です
%.2fは小数点以下を2桁に揃えるという意味です。このように数値をきれいに整えると、ユーザーに見せるときにわかりやすくなります。
5. 複数の値をフォーマットに埋め込む
フォーマットを使えば、複数の値を整えて埋め込むことも可能です。例えば点数と名前を同時に表示する例です。
let player = "花子"
let score = 82
let result = String(format: "%@さんの点数は%d点です", player, score)
print(result)
花子さんの点数は82点です
%@は文字列、%dは整数を埋め込むための指定子です。数値や文字列をフォーマットに組み合わせることで、柔軟に文章を作れます。
6. 数値や金額の見やすいフォーマット
金額や桁数の大きな数字を扱うときには、区切りを入れると見やすくなります。SwiftではNumberFormatterという仕組みを使って整形できます。
import Foundation
let price = 1200000
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
if let formattedPrice = formatter.string(from: NSNumber(value: price)) {
print("商品の価格は\(formattedPrice)円です")
}
商品の価格は1,200,000円です
桁区切りを入れることで数字が見やすくなり、金額表示などに役立ちます。アプリで買い物や計算を扱うときに非常に便利です。
7. 日付をフォーマットして文字列に変換
日付を文字列に変換することもよくあります。SwiftではDateFormatterを使って、日付を「YYYY年MM月dd日」といった形式に整えられます。
import Foundation
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy年MM月dd日"
let dateString = formatter.string(from: date)
print("今日の日付は\(dateString)です")
今日の日付は2025年09月10日です
アプリで日付を表示するときに必須のテクニックで、スケジュールアプリや日記アプリなどでよく使われます。
8. 文字列結合とフォーマットの使い分け
文字列の結合とフォーマットは似ていますが、用途によって使い分けるのがおすすめです。
- シンプルに文章をつなげたい場合 →
+や文字列補間 - 数値を整えて見せたい場合 →
String(format:)やNumberFormatter - 日付を扱いたい場合 →
DateFormatter
このように使い分けることで、Swiftでの開発がより効率的で読みやすくなります。
まとめ
Swiftにおける文字列結合とフォーマットの総復習
ここまでの記事では、Swiftでの文字列結合と文字列フォーマットについて、基礎から実践的な使い方までを順を追って学んできました。 Swiftの文字列処理は、アプリ開発のあらゆる場面で登場します。画面に表示するメッセージ、ユーザー名の表示、スコアや金額の表示、 日付や時刻の表現など、どれも文字列の結合やフォーマットなしでは成り立ちません。 そのため、文字列操作はSwift初心者にとって最初にしっかり身につけておきたい重要なテーマの一つです。
まず基本となるのが + 演算子による文字列の結合です。
シンプルに複数の文字列をつなげたい場合には直感的で分かりやすく、短い文章や固定文言の結合に向いています。
ただし、変数が増えてくると可読性が下がることもあるため、その場合には文字列補間を使うのが効果的です。
文字列補間を使えば、文章の中に変数や計算結果を自然な形で埋め込むことができ、コードの意味が一目で分かるようになります。
フォーマット処理が必要になる場面
記事の後半では、String(format:) や NumberFormatter、
DateFormatter といったフォーマット関連の機能を学びました。
これらは単なる文字列結合とは違い、数値や日付を「人が読みやすい形」に整えるために使われます。
例えば小数点以下の桁数を揃えたり、金額に桁区切りを入れたり、日付を日本語表記に変換したりする処理は、
実際のアプリ開発では非常に頻繁に登場します。
特に金額表示やスコア表示では、見やすさがユーザー体験に大きく影響します。 数字がただ並んでいるだけでは理解しにくく、誤解を招くこともあります。 NumberFormatterを使って桁区切りを入れたり、用途に応じた表示形式に整えることで、 アプリ全体の完成度が一段階高まります。 同様に、DateFormatterを使って日付を整形することで、 スケジュール管理や履歴表示なども直感的になります。
まとめて確認する実践サンプル
最後に、文字列結合、フォーマット、小数点処理、桁区切り、日付表示を一度に確認できるサンプルコードを載せます。 これまでの記事内容を振り返りながら読むことで、理解がより深まります。
import Foundation
let userName = "次郎"
let score = 88.345
let price = 450000
let today = Date()
// 文字列補間
let message = "ユーザー名は\(userName)です"
print(message)
// 小数点フォーマット
let scoreText = String(format: "スコアは%.1f点です", score)
print(scoreText)
// 桁区切りフォーマット
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
if let priceText = numberFormatter.string(from: NSNumber(value: price)) {
print("支払金額は\(priceText)円です")
}
// 日付フォーマット
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy年MM月dd日"
let dateText = dateFormatter.string(from: today)
print("本日の日付は\(dateText)です")
このように、用途に応じて文字列結合とフォーマットを使い分けることで、 Swiftのコードは読みやすくなり、ユーザーにとっても分かりやすい表示を実現できます。 文字列操作は地味に見えますが、アプリの品質を左右する重要な要素です。
生徒
「文字列をつなげるだけだと思っていたのに、実際にはフォーマットまで考える必要があるんですね。 数字や日付の表示がこんなに大事だとは思いませんでした。」
先生
「その気づきはとても大切です。 Swiftでは簡単に文字列操作ができますが、ユーザーにどう見せるかを意識することで、 アプリの完成度が大きく変わります。」
生徒
「文字列補間やString(format:)、NumberFormatterを使い分ける理由も理解できました。 これからは場面ごとに最適な方法を選べそうです。」
先生
「その意識があれば十分です。 文字列結合とフォーマットはSwiftの基礎ですが、実務でもずっと使い続ける知識です。 ぜひいろいろな表示パターンを試してみてください。」
生徒
「はい。次は実際にアプリを作りながら、表示の工夫にも気を配ってみます!」