📌 基本構文
let message = "こんにちは"
var name = "たろう"
let greeting = "こんにちは、\(name)さん!"
print(greeting) // → こんにちは、たろうさん!
\(変数) で変数を文字列中に埋め込むことができます(文字列補間)。
SwiftのStringは、値型であり、コピーは独立しています。文字列の変更は新しいインスタンスを生成します。
String🧩 文字列の操作
- 結合:
let full = str1 + str2 - 空チェック:
str.isEmpty - 文字数:
str.count(※マルチバイト対応) - 前方一致:
str.hasPrefix("http") - 後方一致:
str.hasSuffix(".jpg") - 大文字変換:
str.uppercased() - 小文字変換:
str.lowercased()
これらの操作は、文字列を簡単に扱うための便利なメソッドです。
🔍 検索・置換
let text = "今日は雨です"
if text.contains("雨") {
print("傘が必要です")
}
let newText = text.replacingOccurrences(of: "雨", with: "晴れ")
print(newText) // 今日は晴れです
文字列内の特定の文字列を検索・置換することができます。contains で存在チェック、replacingOccurrences で置換が可能です。
📚 分割・トリム・変換
// 分割
let csv = "りんご,バナナ,みかん"
let fruits = csv.components(separatedBy: ",")
// トリム(前後の空白・改行を削除)
let raw = " Hello \n"
let trimmed = raw.trimmingCharacters(in: .whitespacesAndNewlines)
// 数値変換
let numberText = "42"
if let number = Int(numberText) {
print(number + 10) // 52
}
文字列を分割したり、前後の空白や改行を削除することができます。また、数値文字列を整数に変換することも可能です。
String | Int🌐 Unicodeと絵文字
let emoji = "😊"
print(emoji.count) // 1(マルチバイトも1文字とカウント)
for char in "ありがとう" {
print(char)
}
SwiftのStringはUnicode完全対応なので、日本語・中国語・絵文字も安全に扱えます。
String | Character | Unicode🧠 Stringの型的特徴
- 値型(struct)であり、コピーは独立 - Struct
- バックグラウンドでメモリ最適化される
- UTF-8をベースに効率よく動作
- 配列のように扱える(ただしindexは特殊)
🧵 部分文字列(Substring)
let text = "Swift文字列"
let index = text.index(text.startIndex, offsetBy: 5)
let part = text[..
※ SubstringはStringからの切り出し型で、一時的な使用が推奨されます。
String | Substring