ITのこと

H4S Lab.

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

参考書籍

詳細!Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応

詳細!Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応