Swift-文字列
Swift 4の文字列は、「Hello、World!」など、順序付けられた文字のコレクションです。そしてそれらはSwift4データ型で表されますString、これは、の値のコレクションを表します。 Character タイプ。
文字列を作成する
文字列リテラルを使用するか、次のようにStringクラスのインスタンスを作成することにより、文字列を作成できます。
// String creation using String literal
var stringA = "Hello, Swift 4!"
print( stringA )
// String creation using String instance
var stringB = String("Hello, Swift 4!")
print( stringB )
//Multiple line string
let stringC = """
Hey this is a
example of multiple Line
string by tutorialsPoint
"""
print(stringC)
上記のコードをコンパイルして実行すると、次の結果が得られます。
Hello, Swift 4!
Hello, Swift 4!
Hey this is a
example of multiple Line
string by tutorialsPoint
空の文字列
空の文字列リテラルを使用するか、以下に示すようにStringクラスのインスタンスを作成することにより、空の文字列を作成できます。ブール型プロパティを使用して、文字列が空かどうかを確認することもできますisEmpty。
// Empty string creation using String literal
var stringA = ""
if stringA.isEmpty {
print( "stringA is empty" )
} else {
print( "stringA is not empty" )
}
// Empty string creation using String instance
let stringB = String()
if stringB.isEmpty {
print( "stringB is empty" )
} else {
print( "stringB is not empty" )
}
上記のコードをコンパイルして実行すると、次の結果が得られます。
stringA is empty
stringB is empty
文字列定数
文字列を変数に割り当てることで変更(または変更)できるか、またはを使用して定数に割り当てることで定数になるかを指定できます。 let 以下に示すキーワード-
// stringA can be modified
var stringA = "Hello, Swift 4!"
stringA + = "--Readers--"
print( stringA )
// stringB can not be modified
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--"
文字列補間
文字列補間は、定数、変数、リテラル、および式の組み合わせから、それらの値を文字列リテラル内に含めることにより、新しい文字列値を構築する方法です。
文字列リテラルに挿入する各項目(変数または定数)は、円記号が前に付いた括弧のペアで囲まれます。これが簡単な例です-
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つの文字、または2つの文字を連結できます。これが簡単な例です-
let constA = "Hello,"
let constB = "World!"
var stringA = constA + constB
print( stringA )
上記のコードをコンパイルして実行すると、次の結果が得られます。
Hello,World!
文字列の長さ
Swift4ストリングには 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
文字列の反復
文字列もswift4の値のコレクションであるため、ループを使用して文字列を反復処理できます。−
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は、文字列に関連するさまざまなメソッドと演算子をサポートしています-
シニア番号 | 機能/演算子と目的 |
---|---|
1 | isEmpty 文字列が空かどうかを決定するブール値。 |
2 | hasPrefix(prefix: String) 指定されたパラメータ文字列が文字列のプレフィックスとして存在するかどうかを確認する関数。 |
3 | hasSuffix(suffix: String) 指定されたパラメータ文字列が文字列のサフィックスとして存在するかどうかをチェックする関数。 |
4 | toInt() 文字列の数値を整数に変換する関数。 |
5 | count() 文字列内の文字数をカウントするグローバル関数。 |
6 | utf8 文字列のUTF-8表現を返すプロパティ。 |
7 | utf16 文字列のUTF-16表現を返すプロパティ。 |
8 | unicodeScalars 文字列のUnicodeスカラー表現を返すプロパティ。 |
9 | + 2つの文字列、または文字列と1つの文字、または2つの文字を連結する演算子。 |
10 | += 文字列または文字を既存の文字列に追加する演算子。 |
11 | == 2つの文字列が等しいかどうかを判断する演算子。 |
12 | < 辞書式比較を実行して、ある文字列が別の文字列よりも小さいと評価されるかどうかを判断する演算子。 |
13 | startIndex 文字列の開始インデックスの値を取得します。 |
14 | endIndex 文字列の終了インデックスの値を取得します。 |
15 | Indices インデックスに1つずつアクセスします。つまり、文字列のすべての文字を1つずつ。 |
16 | insert("Value", at: position) ある位置に値を挿入します。 |
17 | remove(at: position) removeSubrange(range) ある位置の値を削除するか、文字列から値の範囲を削除します。 |
18 | reversed() 文字列の逆を返します |