Swift ストリング String
書式
let str = "文字列" var str:String str = "文字列" var c:Character = "c"
特殊文字
特殊文字 | 内容 |
---|---|
\0 | ヌル(nil) |
\ | バックスラッシュ |
\t | タブ |
\n | 改行 |
\r | キャリッジリターン |
\" | ダブルクォーテーション |
\' | シングルクォーテーション |
\xnn | ユニコード(1バイト) |
\unnnn | ユニコード(2バイト) |
\Unnnnnnnn | ユニコード(4バイト) |
※macでバックスラッシュ入力はoption+¥キー
ストリングの文字数
countElements()
let str = "あいうえお" var num = countElements(str)
ストリングに変数や式を含める
\(変数)
let int = 100 let str = "あいう\(int)えお"
ストリングの比較
==
let str = "あいうえお" if (str == "あいうえお") { }
※大文字小文字を区別せずに比較する場合は、lowercaseStringプロパティで小文字に変換する
ストリングを数値に変換する
toInt()!メソッドを使う
let str:String = "123" let int = str.toInt()!
ストリングを浮動小数点に変換する
NSStringにキャストしてfloatValueプロパティ
let r = 120 let pai = "3.14" let ensyu:Float = Float(2*r) * (pai as NSString).floatValue
数値をストリングに変換する
description
let f = 100.5 let str = "aaa" + f.description
ストリングに含まれる文字列の範囲を取り出す
rangeOfString()
let str = "abcdefg" let word = "cd" let range:Range? = str.rangeOfString(word) if let theRange = range { let start:String.Index = theRange.startIndex let end:String.Index = theRange.endIndex }
任意の文字位置から文字列を取り出す
advance
let str = "abcdefg" let start = advance(str.startIndex, 4) let end = advance(start, 2) let pickupStr = str[start..<end] }
NSString に変換して文字列を取り出す
substringToIndex
substringFromIndex
substringWithRange
let str = "abcdefg" let toIndex = (str as NSString).substringToIndex(2) // 結果:"ab" let fromIndex = (str as NSString).substringFromIndex(3) // 結果:"defg" let range:NSRange = NSMakeRange(3, 2) // loc:3, len:2 let withRange = (str as NSString).substringWithRange(range) // 結果:"de" }
※文字列の置き換え stringByReplacingCharactersInRange()メソッド
ストリングを検索する
find()
let str = "abcdefg" let idx = find(str, "cd") // 見つかった位置のString.Index 見つからない場合はnil
ストリングの接頭辞と接尾辞
hasPrefix()
hasSufffix()
let itemList = ["aaa111", "bbb222", "ccc333"] for item in itemList { // aaaではじまる if item.hasPrefix("aaa") { } // 222でおわる if item.hasSuffix("222") { } }
ストリングに文字を追加、挿入、削除
appendString()
insertString()
var str:NSMutableString = "aaa" // 追加 str.appendString("bbb") // 結果:aaabbb // 挿入 str.insertString("ccc", atIndex: 3) // 結果:aaacccbbb // 削除 let delRange = NSMakeRange(6, 3) str.deleteCharactersInRange(delRange) // 結果:aaaccc