🧩 基本構文
let letter: Character = "A"
let emoji: Character = "🌟"
1文字を `Character` 型として明示的に扱いたいときに使用します。
🆚 Stringとの違い
Character:1文字を表す型String:複数の文字から構成される文字列
たとえば次のような変換が可能です:
let c: Character = "日"
let s: String = String(c) // Character → String
let firstChar: Character = "こんにちは".first! // String → Character
🔁 Stringとの連携とループ
StringはCharacterの配列的に扱えるため、ループ処理で1文字ずつ取得できます:
for char in "Swift🚀" {
print(char)
}
// 出力: S, w, i, f, t, 🚀
📐 文字数のカウント
文字数は `String.count` で取得できますが、Unicode結合文字も1文字として扱われます:
let heart = "❤️" // 結合文字
print(heart.count) // 1
これは Swift が Unicode 準拠の「ユーザーが見て1文字」を重視しているためです。
✏️ 文字の比較・判定
let char1: Character = "A"
let char2: Character = "a"
if char1 == char2 {
print("同じ文字です")
} else {
print("異なる文字です")
}
print(char1.isLetter) // true
print(char1.isLowercase) // false
isLetter や isNumber など、Characterのプロパティを使うと便利です。
🎯 使用例:母音チェック
func isVowel(_ c: Character) -> Bool {
return "aeiouAEIOU".contains(c)
}
print(isVowel("e")) // true
print(isVowel("x")) // false
🧠 補足:エスケープ文字
\n改行\tタブ\\バックスラッシュ\u{2665}Unicodeスカラー(例:♥)
let newline: Character = "\n"
let heart: Character = "\u{2665}" // ♥