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()

文字列の逆を返します