Contents
- 動作環境
- 文字列操作
- 文字列の宣言・定義
- 文字列のカウント
- 文字列の連結
- 2つの文字列が一致しているか比較
- 文字列の中に改行
- 指定した文字列を置換
- 指定した文字列を削除
- 文字列を配列に変換
- 英大文字、小文字変換
- 先頭からn番目までの文字を取得
- 先頭からn番目まで以外の文字を取得
- 先頭からn番目までを削除
- 末尾からn番目までの文字を取得
- 末尾からn番目まで以外の文字を取得
- 末尾からn番目までを削除
- 指定の文字列が含まれているか検索 bool型
- 先頭の文字列を比較 bool型
- 末尾の文字列を比較 bool型
- 文字列の前後の空白を削除
- 文字列の前後の改行を削除
- 文字列の前後の空白と改行を削除
- 文字列をカンマで分割
- 数値を文字列に変換
- 文字列を数値に変換
- 「ひらがな」から「カタカナ」に変換
- 「カタカナ」から「ひらがな」に変換
- 文字列を分割
- 先頭を0埋めする
- 末尾を0埋めする
- 前後のスペースや改行を削除する
動作環境
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