【Swift/SwiftUI】文字列のメソッドとプロパティ

本記事ではSwift/SwiftUIにおいて文字列型データに使用することができるメソッドとプロパティの一覧を紹介し、簡単な使い方も解説していきます。

文字列のメソッド

文字列が含まれるかを確認

パラメータに指定した文字が文字列内に含まれるかどうかを確認するメソッドです。

含まれる場合にはtrueを、含まれない場合にはfalseを返却します。

var message = "Hello, my Brother."
message.contains("e")
//実行結果:true
message.contains("a")
//実行結果:false

指定した文字が最初に現れるインデックスを返却

指定した文字列が最初に出現するインデックス番号を返却するプロパティです。パラメータに指定した文字が、文字列に複数含まれる場合にも先頭のインデックス番号を返却します。

指定した先頭文字が存在しない場合、空文字の場合にはnilを返却します。

var message = "Hello, my Brother."
message.firstIndex(of: "e")
//実行結果:1
message.firstIndex(of: "a")
//実行結果:nil

指定した文字が最後に現れるインデックスを返却

指定した文字列が最後に出現するインデックス番号を返却するプロパティです。パラメータに指定した文字が、文字列に複数含まれる場合にも末尾のインデックス番号を返却します。

指定した末尾文字が存在しない場合、空文字の場合にはnilを返却します。

var message = "Hello, my Brother."
message.lastIndex(of: "e")
//実行結果:15
message.lastIndex(of: "a")
//実行結果:nil

先頭から指定した文字数を取得

文字列の先頭からパラメータに指定した文字数の部分文字列を返却します。

var message = "Hello, my Brother."
message.prefix(5)
//実行結果:"Hello"

末尾から指定した文字数を取得

文字列の末尾からパラメータに指定した文字数の部分文字列を返却します。

var message = "Hello, my Brother."
message.prefix(8)
//実行結果:"Brother."

先頭から指定した文字数を削除した文字列を取得

文字列の先頭からパラメータに指定した文字数の文字列を落とした文字列を返却します。

戻り値として返却されるだけであるため、元の文字列の値は変更されません。

var message = "Hello, my Brother."
message.dropFirst(7)
//実行結果:"my Brother."

末尾から指定した文字数を削除した文字列を取得

文字列の末尾からパラメータに指定した文字数の文字列を落とした文字列を返却します。

戻り値として返却されるだけであるため、元の文字列の値は変更されません。

var message = "Hello, my Brother."
message.dropLast(8)
//実行結果:"Hello, my"

先頭から指定した文字数を削除

先頭からパラメータに指定した文字数を削除します。

dropFirst()が指定文字数を落とした文字列を返却するのに対し、removeFirstでは実際の文字列を削除するため、以降で対象の変数は削除された状態が維持されます。 

var message = "Hello, my Brother."
message.removeFirst(6)
//実行結果:"my Brother."

末尾から指定した文字数を削除

末尾からパラメータに指定した文字数を削除します。

dropLast()が指定文字数を落とした文字列を返却するのに対し、removeLastでは実際の文字列を削除するため、以降で対象の変数は削除された状態が維持されます。

var message = "Hello, my Brother."
message.removeLast(8)
//実行結果:"my "

指定文字で分割した配列を取得

パラメータに指定した文字を区切り文字として、文字列を区切った配列を返却します。配列に格納される文字列に区切り文字は含まれません。

また、指定した区切り文字が文字列内に存在しない場合には、0番目に全ての文字列が格納された配列が返却されます。

var message = "Hello, my Brother."
var separate_messages = message.split(separator: ",")
separate_messages[0]
//実行結果:"Hello"
separate_messages[1]
//実行結果:"my Brother."

文字列同士を結合

パラメータに指定した文字列を、元の文字列の後ろに結合します。

var message = "Hello, my Brother."
var message2 = "my name is mike."
//実行結果:"Hello, my Brother.my name is mike."

文字列を全て削除

指定した文字列を全て削除します。削除した値を返却するのではなく、元の文字列を空文字にするため、以降の処理でも対象の変数の文字列は空文字となります。

var message = "Hello, my Brother."
message.removeAll()
//実行結果:""

文字列のプロパティ

文字数を数える

文字列の文字数を表す数値型のプロパティです。

var message = "Hello, my Brother."
message.count
//実行結果:18

先頭文字を取得する

文字列の先頭文字を返却するプロパティです。

先頭文字が存在しない場合や空文字の場合にはnilを返却します。

var message = "Hello, my Brother."
message.first
//実行結果:H

var empty_message = "";
empty_message.first
//実行結果:nil

末尾文字を取得する

文字列の末尾文字を返却するプロパティです。

末尾文字が存在しない場合や空文字の場合にはnilを返却します。

var message = "Hello, my Brother."
message.last
//実行結果:.

var empty_message = "";
empty_message.last
//実行結果:nil

空文字かどうかを判定する

文字列が空文字であるかどうかを真偽値のtrueかfalseで返却するプロパティです。

var message = "Hello, my Brother."
message.isEmpty
//実行結果:false

var empty_message = "";
empty_message.isEmpty
//実行結果:true

最後に

本記事では、Swiftで文字列を扱う際に頻出するメソッドとプロパティの一覧をご紹介しました。

他にもSwiftで開発を行う際に欠かすことのできないオプショナル型データについてや、文字列と同様に頻繁に使用する配列で使用可能なプロパティやメソッドを紹介する記事も書いていますのでそちらもご確認ください。