SwiftUIの基本を身につけたい方はこちら

【Swift/Xcode】文字列操作(String型)チートシート〜置換,結合,削除,比較,取得〜

動作環境

Item Version
Swift 5.4.2
Xcode 12.5.1

文字列操作

文字列の宣言・定義

let str: String = "文字列"

: String、省略できます。これは型推論といい、入っている値に適切な型が自動で割り当てられます。

型推論を省略したパターン

let str = "文字列"

文字列のカウント

let str = "HelloWorld!"
let cnt = str.count
print(cnt)    // 11

別の書き方

let cnt = "HelloWorld!".count
print(cnt)    // 11

文字列の連結

let str1 = "Hello"
let str2 = "World!"
let str3 = str1 + str2
print(str3)    // HelloWorld!

2つの文字列が一致しているか比較

let str1 = "みかん"
let str2 = "みかん"
if str1 == str2 {
    print("等しい")
} else {
    print("異なる")
}
// 等しい

文字列の中に改行

let str = "Hello\nWorld!"
print(str)
/*
Hello
World!
*/

指定した文字列を置換

var str = "あいうえお"
let result = str.replacingOccurrences(of:"いう", with:"ああ")
print(result)    // あああえお

指定した文字列を削除

var str = "あいうえお"
let result = str.replacingOccurrences(of:"いうえ", with:"")
print(result)    // あお

文字列を配列に変換

let charArray = Array("あいうえお")
print(charArray)    // ["あ", "い", "う", "え", "お"]に変換

英大文字、小文字変換

大文字から小文字に変換

let lowerString = "ABCDEFG".lowercased()
print(lowerString)    // abcdefgに変換

小文字から大文字に変換

let upperString = "abcdefg".uppercased()
print(upperString)    // ABCDEFGに変換

先頭からn番目までの文字を取得

let str = "あいうえお"
print(str.prefix(1))    // あ
print(str.prefix(2))    // あい
print(str.prefix(3))    // あいう

先頭からn番目まで以外の文字を取得

let str = "あいうえお"
print(str.suffix(str.count - 1))    // いうえお
print(str.suffix(str.count - 2))    // うえお
print(str.suffix(str.count - 3))    // えお

先頭からn番目までを削除

let str = "あいうえお"
print(str.dropFirst(1))    // いうえお
print(str.dropFirst(2))    // うえお
print(str.dropFirst(3))    // えお

末尾からn番目までの文字を取得

let str = "あいうえお"
print(str.suffix(1))    // お
print(str.suffix(2))    // えお
print(str.suffix(3))    // うえお

末尾からn番目まで以外の文字を取得

let str = "あいうえお"
print(str.prefix(str.count - 1))    // あいうえ
print(str.prefix(str.count - 2))    // あいう
print(str.prefix(str.count - 3))    // あい

末尾からn番目までを削除

let str = "あいうえお"
print(str.dropLast(1))    // あいうえ
print(str.dropLast(2))    // あいう
print(str.dropLast(3))    // あい

指定の文字列が含まれているか検索 bool型

let str = "あいうえお"
let result = str.contains("いう")
print(result)    // true

先頭の文字列を比較 bool型

let str = "あいうえお"
let result = str.hasPrefix("あいう")
print(result)    // true

末尾の文字列を比較 bool型

let str = "あいうえお"
let result = str.hasSuffix("えお")
print(result)    // true

文字列の前後の空白を削除

let str = " Hello World! "
let result = str.trimmingCharacters(in: .whitespaces)
print(result)    // Hello World!

文字列の前後の改行を削除

let str = "\nHello World!\n"
let result = str.trimmingCharacters(in: .newlines)
print(result)    // Hello World!

文字列の前後の空白と改行を削除

let str = "\n Hello World!\n \n"
let result = str.trimmingCharacters(in: .whitespacesAndNewlines)
print(result)    // Hello World!

文字列をカンマで分割

let str = "He,ll,o"
let result = str.components(separatedBy: CharacterSet(charactersIn: ","))
print(result)    // ["He", "ll", "o"]

数値を文字列に変換

let num: Int = 2021
let year: String = String(num) + "年"
print(year)    // 2021年

文字列を数値に変換

let str: String = "2021"
let total: Int = Int(str)! - 21
print(total)    // 2000

「ひらがな」から「カタカナ」に変換

let kana = "あいうえお"
let result = kana.applyingTransform(.hiraganaToKatakana, reverse: false)!
print(result)    // アイウエオ

「カタカナ」から「ひらがな」に変換

let kana = "アイウエオ"
let result = kana.applyingTransform(.hiraganaToKatakana, reverse: true)!
print(result)    // あいうえお

文字列を分割

let str = "Swift Hello World!"
let array = str.components(separatedBy: " ")
print(array[0])    // Swift
print(array[1])    // Hello
print(array[2])    // World!

先頭を0埋めする

let num = 1
print(String(format: "%05d",num))    // 00001
print(String(format: "%03d",num))    // 001
print(String(format: "%02d",num))    // 01

末尾を0埋めする

let num = 0.1
print(String(format: "%0.5f",num))    // 0.10000
print(String(format: "%0.3f",num))    // 0.100
print(String(format: "%0.2f",num))    // 0.10

前後のスペースや改行を削除する

【Xcode/Swift】文字列の前後の無駄なスペースや改行を削除する方法

評価