Contents

スウィフト – ストリングス
ここでは文字列、ストリングを理解していきます。
文字列を作成する
Stringを作成するには、文字列リテラルを使用するか、次のようにStringクラスのインスタンスを作成します。
// 文字列を作成 var stringA = "Hello, Swift 4!" print( stringA ) // インスタンスを使って作成 var stringB = String("Hello, Swift 4!") print( stringB ) // let stringC = """ アイウエオカキクケコ """ print(stringC)
上記のコードをコンパイルして実行すると、次の結果が生成されます
Hello, Swift 4! Hello, Swift 4! アイウエオカキクケコ
空の文字列
空の文字列リテラルを使用するか、以下に示すようにStringクラスのインスタンスを作成することによって、空のStringを作成できます。BooleanプロパティisEmptyを使用して、文字列が空であるかどうかを確認することもできます。
// 空欄ありの文字列を作ります。 var stringA = "" if stringA.isEmpty { print( "文字列からです" ) } else { print( "文字列からじゃないです" ) } // Empty string creation using String instance let stringB = String() if stringB.isEmpty { print( "文字列からです" ) } else { print( "文字列からじゃないです" ) }
上記のコードをコンパイルして実行すると、次の結果が生成されます。
文字列からです 文字列からです
文字列定数
文字列を変数に代入することによって文字列を変更(または変更)できるかどうかを指定することができます。また、以下に示すようにletキーワードを使用して文字列を定数に代入することにより、
// 文字列は修正できる var stringA = "Hello, Swift 4!" stringA + = "--Readers--" print( stringA ) // Bは修正できない let stringB = String("Hello, Swift 4!") stringB + = "--Readers--" print( stringB )
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Playground execution failed: error: <EXPR>:10:1: error: 'String' is not convertible to '@lvalue UInt8' stringB + = "--Readers--"
文字列の補間
文字列補間 (string interpolation) は、文字列リテラル内に値を含め、定数や変数、リテラル、式を組み合わせて新しい String
値を構築する手段です。文字列リテラルに挿入する各項目を丸括弧で囲み、バックスラッシュを前に置きます。
var varA = 20 let constA = 100 var varC:Float = 20.0 var stringA = "\(varA) times \(constA) is equal to \(varC * 100)" print( stringA )
上記のコードをコンパイルして実行すると、次の結果が生成されます。
20 times 100 is equal to 2000.0
文字列連結
+演算子を使用すると、2つの文字列、1つの文字列と1つの文字、または2つの文字を連結できます。ここに簡単な例があります –
let constA = "Hello," let constB = "World!" var stringA = constA + constB print( stringA )
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Hello,World!
文字列の長さ
Swift 4の文字列にはlengthプロパティはありませんが、文字列内の文字数をカウントするには、グローバルなcount()関数を使用できます。ここに簡単な例があります –
var varA = "Hello, Swift 4!" print( "\(varA), length is \((varA.count))" )
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Hello, Swift 4!, length is 15
文字列の比較
==演算子を使用して、2つの文字列変数または定数を比較できます。ここに簡単な例があります –
var varA = "Hello, Swift 4!" var varB = "Hello, World!" if varA == varB { print( "\(varA) and \(varB) are equal" ) } else { print( "\(varA) and \(varB) are not equal" ) }
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Hello, Swift 4! and Hello, World! are not equal
ストリング反復
文字列はswift 4の値の集合であるため、ループを使用して文字列を反復処理できます。 –
for chars in "ThisString" { print(chars, terminator: " ") }
上記のコードをコンパイルして実行すると、次の結果が生成されます。
T h i s S t r i n g
Unicode文字列
次の例に示すように、utf8およびutf16プロパティを反復処理することによって、文字列のUTF-8およびUTF-16表現にアクセスできます。 ライブ
var unicodeString = "Dog???" print("UTF-8 Codes: ") for code in unicodeString.utf8 { print("\(code) ") } print("\n") print("UTF-16 Codes: ") for code in unicodeString.utf16 { print("\(code) ") }
上記のコードをコンパイルして実行すると、次の結果が生成されます。
UTF-8 Codes: 68 111 103 63 63 63 UTF-16 Codes: 68 111 103 63 63 63
文字列関数と演算子
Swift 4は、ストリングに関連する幅広いメソッドと演算子をサポートしています。
Sr.No | 関数/演算子と目的 |
---|---|
1 | isEmpty
文字列が空であるかどうかを決定するブール値。 |
2 | hasPrefix(prefix:String)
指定されたパラメータ文字列が文字列の接頭辞として存在するかどうかをチェックする機能。 |
3 | hasSuffix(接尾辞:String)
指定されたパラメータ文字列が文字列の接頭辞として存在するかどうかをチェックする機能。 |
4 | toInt()
数値のString値をIntegerに変換する機能。 |
5 | count()
文字列内の文字数を数えるグローバル関数。 |
6 | utf8
文字列のUTF-8表現を返すプロパティ。 |
7 | utf16
文字列のUTF-16表現を返すプロパティ。 |
8 | ユニコードスカラー
文字列のUnicodeスカラー表現を返すプロパティ。 |
9 | +
演算子は2つの文字列、文字列と文字、または2つの文字を連結します。 |
10 | + =
既存の文字列に文字列または文字を追加する演算子。 |
11 | ==
演算子は2つの文字列が等しいかどうかを判定します。 |
12 | <
演算子は、文字列比較を実行して、1つの文字列が別の文字列よりも小さいかどうかを判断します。 |
13 | startIndex
文字列の開始インデックスの値を取得します。 |
14 | endIndex
stringの終了インデックスの値を取得する。 |
15 | index
文字列のすべての文字を1つずつ表示します。 |
16 | insert( “Value”、at:position)
ある位置に値を挿入する。 |
17 | 削除する(at:position)
removeSubrange(範囲) ある位置で値を削除したり、文字列から値の範囲を削除することができます。 |
18 | reversed()
文字列の逆を返します。 |