【Swift入門】String(文字列型)の使い方をマスターしよう!

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

文字列の長さを調べる

文字列の長さを調べるには、characterscountプロパティを使用します。

文字列の長さを取得する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型の使い方を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次