【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型の使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説