Swiftに限らず、プログラミングにおいてString(文字列型)はよく使用します。
この記事では、
・SwiftのString型について
・String型の定義方法
というString型の基本的な解説から、
・空文字の定義方法
・文字列の長さを調べる方法
・文字列を連結する方法
・文字列を比較する方法
・StringからIntへ変換する方法
・IntからStringへの変換する方法
などの応用的な使い方に関しても解説していきます。
今回はそんなString型の使い方についてわかりやすく解説します!
※この記事ではSwift3.1を使用しています。
SwiftのString型
Swiftの文字列は、Stringで定義することができます。
また、変数の宣言時に”ABCDE”のように“(ダブルクォーテーション)で文字列を囲むと、暗黙的にその変数はString型となります。
String型の定義:
var str1 : String //String型を指定 var str2 = "これはString型です" //暗黙的なString型 var num = String(123) //String型のキャスト
特殊文字:
文字列には、以下のような特殊文字を含めることができます。
\”:ダブルクォート
\’:シングルクォート
\r:改行
\n:ラインフィード
\0:null文字
\\:バックスラッシュ
String型の使い方
空文字の定義
String型は値が空の変数(空文字)を指定することもできます。
空文字は以下のように指定します。
サンプルプログラム
//空文字の定義 let str1 = "" let str2 = String() if str1.isEmpty { print("str1は空文字です") } if str2.isEmpty { print("str2は空文字です") }
実行結果:
str1は空文字です str2は空文字です
変数を宣言のみしておいて、後で値を代入したいときに空文字を指定します。
変数が空かどうか調べるには、isEmptyを使用すると便利です。
特殊文字の使い方
以下に特殊文字の使用例を紹介します。
ラインフィード:
//改行(ラインフィード) let str = "test1\ntest2\ntest3" print(str)
実行結果:
test1 test2 test3
数値の結合
//数値を展開 let num = 10 let res = "num = \(num)" print(res)
実行結果:
num = 10
文字列の長さを調べる
文字列の長さを調べるには、charactersのcountプロパティを使用します。
文字列の長さを取得するcountElements関数はSwift3では廃止されました。
サンプルプログラム:
//文字列の長さを調べる let text = "Samurai Engineer" print(text.characters.count)
実行結果:
16
文字列を連結する
文字列を連結するには+演算子、または+=演算子を使用します。
以下に文字列を連結する方法を紹介します。
サンプルプログラム1
let text1 = "これは" let text2 = "侍エンジニアの" let text3 = "ブログです。" var text = text1 + text2 text += text3 print(text)
実行結果:
これは侍エンジニアのブログです。
文字列を比較する
if文を使って文字列同士を比較することもできます。
比較には「==」「!=」「<」「<=」などの比較演算子を使用します。
サンプルプログラム
let text1 = "ABCD" let text2 = "EFGHIJK" if text1 == text2 { print("同じ値です") } else if text1 < text2 { print("文字列\(text1)より\(text2)の方が大きいです") } else { print("文字列\(text1)より\(text2)の方が小さいです") }
実行結果:
文字列ABCDよりEFGHIJKの方が大きいです
String⇔Intの相互変換
StringからIntへ変換
String型の文字列をInt型に変換することができます。
Int型への変換は、Swift2まではtoIntが使用されていました。
var str = "12345" var num = str.toInt()
しかし、Swift3ではtoIntは廃止されました。
そのため、Swift3からはInt型への変換はInt()イニシャライザを使用します。
また、値を取得するにはInt()で変数や定数を指定したあとに「!」を指定する必要があります。
以下にSwift3.x版でのString型をInt型に変換するサンプルを紹介します。
サンプルプログラム(String → Int変換)
//StringからIntへ変換 let str = "12345" let num = Int(str)! print("num = \(num)");
実行結果:
num = 12345
IntからStringへの変換
Int型をString型へ変換するには、Int型の定数、変数に対してStringでキャストすればString型へ変換することが可能です。
また、descriptionを指定することでもString型へ変換することができます。
以下にInt型をString型に変換するサンプルを紹介します。
サンプルプログラム(Int → String変換)
//intからStringへ変換 let num = 100; let str1 = String(num); let str2 = num.description print("str1 = \(str1)"); print("str2 = \(str2)");
実行結果:
str1 = 100 str2 = 100
まとめ
ここではSwiftのString型について、
・String型の定義方法
・空文字の定義方法
・文字列の長さを調べる方法
・文字列を連結する方法
・文字列を比較する方法
・StringからIntへ変換する方法
・IntからStringへの変換する方法
などについて解説しました。
Swiftに限らずプログラミングにおいて、String型やInt型などはよく使用しますので、使い方はしっかりと覚えておきましょう!
もし、String型の使い方を忘れてしまったら、この記事を思い出してくださいね!