【Swift】文字列の扱い方

(2021/08/24 更新)

Swiftでの文字列の扱い方をまとめました。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】12.5RC
【Swift】5.4
【iOS】14.5
【macOS】Big Sur バージョン 11.5.2
スポンサーリンク

結合

文字列の結合には演算子(+)および代入演算子(+=)を使います。

スポンサーリンク

比較

数値の比較と同様の比較演算子(==, !=, <, >)が使えます。

スポンサーリンク

文字列→数値変換

文字列から数値への変換にはInt()やDouble()を使います。
変換できない場合はnilになります。

スポンサーリンク

数値→文字列変換

数値から文字列への変換には、String()を使います。

\()を使ってプロパティの値を文字列に埋め込みむ方法もあります。
("\"はキーボードのoption+"¥"で入力します。)

スポンサーリンク

文字列で使える特殊文字(エスケープシーケンス)

("\"はキーボードのoption+"¥"で入力します。)

\" ダブルクォート
\' シングルクォート
\n 改行
\t タブ
\\ バックスラッシュ
スポンサーリンク

文字数を返す

countプロパティで文字数を取得できます。

スポンサーリンク

大文字/小文字変換

文字列の大文字/小文字変換は、uppercased()とlowercased()を使用します。

スポンサーリンク

前後の空白を削除する

trimmingCharacters(in:)は、文字列の両端から指定された文字セットを削除した新たな文字列を返します。
引数に文字セット.whitespacesAndNewlinesを指定すると、両端にあるスペース、タブ、改行を全て削除した文字列を返します。

スポンサーリンク

空文字かどうかチェックする

isEmptyプロパティで空文字かどうかチェックできます。
空文字の場合はtrueを返します。

スポンサーリンク

分割

components(separatedBy:)で文字列を区切り文字で分割した配列にします。

スポンサーリンク

文字列を1文字づつ扱う

for-inループを使用して、配列のように全ての文字にアクセス可能です。

出力

スポンサーリンク

文字列を配列に変換する

Array()で1文字つづの配列に変換できます。

スポンサーリンク

ランダムな要素を返す

randomElement()で、文字列からランダムに文字を返します。

スポンサーリンク

最初に見つかった特定文字を削除する

firstIndex(of:)で、指定した文字が最初に見つかった文字列中の位置(String.Index型)を取得します。
次に、remove(at:)に取得した位置情報を渡して該当文字を削除します。
位置情報はハッシュ値で保持されている為、直接何文字目か指定はできません。

スポンサーリンク

文字列の一部を取り出す

swiftのStringには一般的なsubstring関数がありません。
文字列の一部を取り出すには、若干工夫が必要です。

任意の位置からの取り出し

index()関数を使って、開始位置と終了位置を、先頭からの相対位置で取得します。
相対位置は先頭が0になりますので、3文字目なら2、7文字目なら6になります。

開始位置と終了位置を使って、取得する文字列の範囲を指定しますが、
ここで取得した文字列は、Substring型になる為、最後にString型にキャストします。

以下は、3文字目から7文字目までを取り出す例です。

先頭または末尾から取り出し

先頭から指定した文字数を取り出すのは、次のようにprefix()関数で取り出す文字数を指定するだけです。
先程と同様に最後にString型にキャストする必要があります。

末尾からの取り出しは、suffix()関数を指定します。

スポンサーリンク

あわせて読みたい記事

【Swift】print文の使い方
print文は式の値を標準出力に書き出す関数で、引数の値を文字列に変換して出力する事ができます。 主にプログラムの動作確認やデバッグに使用します。 Xcodeではprint文で出力した文字列は、デバッグエリアのコンソールウィンドウに表示され...
【Swift】配列の使い方
(2020/05/02 更新) 配列(Array)の使い方について解説します。 Swiftでは配列に格納できる要素の数に制限はなく、自由に格納したり取り出したりできます。