文字の型いろいろ

基本
特殊文字
大文字化小文字化
文字数カウント
文字列比較

unicodeコードユニットはif文のところでやろう。

基本

String型が文字列でCharacter型が文字。

let yenSign: Character  = "¥"	//一文字だけよ

空文字列を作りたい場合は""とかString()とかする。

var emptyString = ""
var anotherEmptyString = String()

文字列の結合は+で、+=もできるが、誤って定数に突っ込まないように注意。

var variableString = "Horse"
//Horse and carriage
variableString += " and carriage"

//定数の値は変えられないのでエラーが起きる
let constantString = "Highlander"
constantString += " and another Highlander"

文字列の足し算にはCharacterも使うことができる。ただし、やっぱりCharacter型に足した結果を突っ込まないように注意。足した結果はStringなのでCharacter型には入れられない。

let string1 = "hello"
let string2 = " there"
let character1: Character = "!"
let character2: Character = "?"

//文字列+文字
//hello!
let stringPlusCharacter = string1 + character1
//文字列+文字列
//hello there
let stringPlusString = string1 + string2
//文字+文字列
//!hello
let characterPlusString = character1 + string1
//文字+文字
//!?
let characterPlusCharacter = character1 + character2

//+=でも同様。

//文字列+文字列
//look over there
var instruction = "look over"
instruction += string2
//文字列+文字
//good morning!
var welcome = "good morning"
welcome += character1

あと、文字列中で変数定数計算したいときはバックスラッシュとかっこで。このかっこの中にはエスケープしてないダブルクォーテーションやバックスラッシュ、改行文字を入れるとヤバイらしい。

let multiplier = 3
//3 times 2.5 is 7.5
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"

特殊文字

ヌル文字:\0
バックスラッシュ:\\
タブ:\t
改行:\n
クォーテーション:\"とか\'とか

Unicode文字を出したい場合は、1バイト文字なら「\x」に続けて2桁の16進数を、2バイト文字なら「\u」に続けて4桁の16進数を、4バイト文字なら「\U」に続けて8桁の16進数を書く。

//ダブルクォーテーションのエスケープ
let wiseWords = "\"Imagination is more important than knowledge\" - Einstein"
//「$」が出る
let dollarSign = "\x24"
//くろぬりのハートが出る(らしい
let blackHeart = "\u2665"
//きらきらのハートが出る(らしい
let sparklingHeart = "\U0001F496"

大文字化小文字化

「.uppercaseString」「.lowercaseString」を後ろにくっつけるとその文字列を全部大文字にしたやつや小文字にしたやつが得られる。

let normal = "Could you help me, please?"

//COULD YOU HELP ME, PLEASE?
let shouty = normal.uppercaseString
//could you help me, please?
let whispered = normal.lowercaseString

文字数カウント

文字数のカウントはcountElements関数でできる

let unusualMenagerie = "Koala, Snail, Penguin, Dromedary"
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters.")

文字列比較

文字列の完全一致のチェックは「=」でOK

let quotation = "We're a lot alike, you and I."
let sameQuotation = "We're a lot alike, you and I."
if quotation == sameQuotation {
	println("These two strings are considered equal")
}

↑ PAGE TOP