Swiftの文字列操作を学ぶ!結合、変数展開、置換、変換、検索

Swift言語のString型を活用した文字列操作を学習しましょう。文字列の結合、変数展開、置換、大文字小文字変換、文字列内のキーワード検索、文字数のカウント、先頭文字や末尾文字のチェック。はじめてSwiftを学ぶプログラミング初心者にもわかりやすく書きました。

公式ドキュメントを参照すると、様々な操作が行えることがわかります。

よく利用する操作方法をまとめましたので、一緒に学習していきましょう!

Swiftでの文字列操作

文字列の結合(連結):加算演算子

文字列は、加算演算子(+)で、結合ができます。


// 文字列リテラルを結合
print("東京都" + "渋谷区") // 東京都渋谷区

// String型の定数を結合
let region = "東京都"
let city = "渋谷区"
print(region + city) // 東京都渋谷区

文字列の追加


var greeting = "こんにちは, "
greeting.append("Swift!")
print(greeting) // こんにちは, Swift!

文字列の追加(加算代入演算子)

加算代入演算子(+=)を利用して追加することもできます。


var greeting = "こんにちは, "
greeting += "Swift!"
print(greeting) // こんにちは, Swift

文字列内で定数(変数)を展開

文字列の中に、定数や変数を埋め込む(展開)することができます。


let greeting = "こんにちは!"
print("みなさん、\(greeting)よろしくね!") // みなさん、こんにちは!よろしくね!

文字数をカウント

文字数をカウントできます。


let greeting = "こんにちは"
print(greeting.count) // 5

文字列置換

文字列を検索して置換ができます。


var address = "東京都渋谷区"
print(address) // 東京都渋谷区
address = address.replacingOccurrences(of: "渋谷区", with: "世田谷区")
print(address) // 東京都世田谷区

文字列削除

文字列を検索して削除ができます。


var address = "東京都渋谷区代々木"
print(address) // 東京都渋谷区
address = address.replacingOccurrences(of: "渋谷区", with: "")
print(address) // 東京都代々木

文字列を大文字に変換

文字列を大文字に変換したものを返却します。


let address = "TokyoShibuya"
print(address.uppercased()) // TOKYOSHIBUYA

文字列を小文字に変換

文字列を小文字に変換したものを返却します。


let address = "TokyoShibuya"
print(address.lowercased()) // tokyoshibuya

先頭文字のチェック

文字列が指定されたキーワード(接頭辞)で始まるかをチェックしてBoole値(true or false)を返却します。
大文字小文字を識別します。


let japaneseAddress = "東京都渋谷区"
print(japaneseAddress.hasPrefix("東京都")) // true
print(japaneseAddress.hasPrefix("渋谷区")) // false

let englishAddress = "TokyouShibuya"
print(englishAddress.hasPrefix("Tokyou")) // true
print(englishAddress.hasPrefix("tokyou")) // false ※大文字小文字を識別します

末尾文字のチェック

文字列が指定されたキーワードで終了するかをチェックしてBoole値(true or false)を返却します。
大文字小文字を識別します。


let japaneseAddress = "東京都渋谷区"
print(japaneseAddress.hasSuffix("渋谷区")) // true
print(japaneseAddress.hasSuffix("東京都")) // false

let englishAddress = "TokyouShibuya"
print(englishAddress.hasSuffix("Shibuya")) // true
print(englishAddress.hasSuffix("shibuya")) // false ※大文字小文字を識別します

配列の文字列をチェック

指定された文字列で配列の文字をチェックして、Boole値(true or false)を返却します。


let cityList = ["渋谷区", "新宿区", "港区", "千代田区"]
print(cityList.contains("新宿区")) // true
print(cityList.contains("新宿")) // false
print(cityList.contains("世田谷区")) // false

配列の文字列を抽出

配列が保持している文字数をチェックして、フィルターした文字のみを返却します。


let cityList = ["渋谷区", "新宿区", "港区", "千代田区"]
let shortCityName = cityList.filter { $0.count <= 2 }         // 2文字以下のデータを格納
let threeLettersCityName = cityList.filter { $0.count == 3 }  // 3文字のデータを格納
print(shortCityName) // ["港区"]
print(threeLettersCityName) // ["渋谷区", "新宿区"]

配列の文字列を抽出して最初のデータを取得

検索条件に一致した最初のデータを返却します。


let cityList = ["渋谷区", "新宿区", "港区", "北区"]
let firstCity = cityList.first(where: { $0.count == 2 }) // 最初の2文字のデータを格納
print("最初に検索される2文字のエリアは、\(firstCity!)です")    // 最初に検索される2文字のエリアは、港区です
アプリ開発が学べる勉強会を開催中!
プログラミング初心者向け、アプリ開発ノウハウ、エンジニアキャリアについてのイベントを開催!アプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
 グループのメンバーとして参加する
徹底した基礎学習からのマスターするiPhoneアプリ開発集中オンライン講座開講!
徹底した基礎学習からのマスターするiPhoneアプリ開発集中オンライン講座開講!
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。