Swiftの文字列(String)


新しい言語を学ぶのに文字列が少ないわけがない.SwiftのStringとObjective-C言語ではNSStringの違いは小さくないが、SwiftのStringは正常な状態に戻り、より便利で速い.このブログのテーマはSwiftの文字列タイプStringで、StringはSwiftの中でずいぶん安心しました.今日はこのブログでSwiftのStringをよく知っておきます.
一、文字列コピー
Swiftでの文字列コピーは、ポインタ間の付与値ほど簡単ではない=番号で直接操作できます.文字列Aの値を文字列Bに割り当てると、AとBのメモリアドレスが異なり、すなわち文字列Aと文字列Bにはそれぞれのメモリ領域がある.次の例では、上記の説明を示します.
    1.まず、文字列のメモリアドレスを出力する入力関数を書きます.コードは次のとおりです.
 
1 // 2 func printVarAddress(tempString: String){3     4     var address = String(format: "%p", tempString)5     6     println(address)7     8 }

 
 
    2. 文字列変数を作成し、初期値を割り当てます.次に、前の変数の値を=番号で新しい変数に割り当て、上記の方法を呼び出して、次のコードに示すように、2つの変数のメモリアドレスを印刷します.
var strTemp = "Ludashi"var strTempCopy = strTemp

printVarAddress(strTemp)  //-- 0x100525d50printVarAddress(strTempCopy) //-- 0x1005268a0

上に印刷した変数アドレスから分かるように,各変数には独自の記憶アドレス,すなわちOCにおける深いコピーが対応している.
 
二、文字列接続
Swiftでは文字列の接続が簡単になり、1つの+番号で済むので、NSStringFormatはもう使いません.次のコードはSwiftで文字列接続を行う方法で、PHPなどの他のプログラミング言語と同じです.くだらないことは言わないで直接コードをつけなさい.
//============= ==============var myFirstName = "Li"var mySecondName = "Zelu"var myName = mySecondName + myFirstName

println(myName) // -- ZeluLi

 
三、文字列遍歴
Swiftの文字列は、for-inを使用して直接遍歴できます.以下に示します.
//============== ==========var searchString = "Ludashi"for tempChar in searchString {
    println(tempChar)
}

 
四、文字列の比較
ワードSwiftの文字列間の比較はisEqualToStringメソッドではなく、==と!=を直接使用します.日で済むので、一瞬で簡単になったのではないでしょうか.SwiftのBoolタイプの値はOCのYes Or Noではなくfalse Or tureであることに注意してください.次のコードセグメントは、2つの文字列に対して==と!=を通過します.比較します.
// == !=var myNameTemp = "lizelu"var myBlogName = "ludashi"var boolOne = myNameTemp == myBlogName  // -- falsevar boolTwo = myNameTemp != myBlogName  // -- trueprintln(boolOne)

println(boolTwo)

 
五、Swiftでよく見られる文字列関数
1.hasPrefixとhasSuffixを使用して、ある文字列が別の文字列の接頭辞または接尾辞であるかどうかを判断する
1 // 2 var isHasPrefixOrSuffix = " lizelu"3 4 var isPrefix =  isHasPrefixOrSuffix.hasPrefix(" ")5 println(isPrefix)   // -- ture6 7 var isSuffix =  isHasPrefixOrSuffix.hasSuffix("zelu")8 println(isSuffix)   // -- ture

 
    2.文字列の長さ
OCで文字列長を取得するにはlengthを使用し、Swiftではcount()グローバル関数を使用します.次のようにします.
// var strLenght = count(isHasPrefixOrSuffix)
println(strLenght)  // -- 8 --

 
    3.文字列補間
OCで1つの文字列に値を挿入したい場合は、文字列のフォーマット関数を使用し、Swiftでは()を使用すればよいので、具体的な使い方は以下の通りです.
1 // 2 var insertToStringValue = 10101013 4 var strInserReaultValue = " \(insertToStringValue)"5 6 println(strInserReaultValue)  // 1010101

 
    4.NSStringメソッドの呼び出し
SwiftでNSString特有のメソッドを呼び出したい場合、どうすればいいですか?では、asキーワードを使用してタイプを変換しましょう.Stringタイプをas操作でNSStringタイプに変換し、NSStringの対応するメソッドを呼び出します(例えば、文字列の指定範囲内の文字列を取得する場合、NSStringのメソッドを使用すると簡単になります).
1 //String NSSting NSSting 2 var stringToNSString = "SwiftWithMe"3 4 var strNs: NSString = "aaa"5 6 strNs.length  // -- 3 --7 8 // NSSting 9 var strLength = (stringToNSString as NSString).length  // -- 11 --

今日はSwift文字列に関するものが先にこちらへ