Strings in Swift are an ordered collection of characters, such as
"Hello, World!" and they are represented by the Swift data type String, which in turn represents a collection of values of Character type.
Each item (variable or constant) that you insert into the string literal is wrapped in a pair of parentheses, prefixed by a backslash. Here is a simple example −
Create a String
You can create a String either by using a string literal or creating an instance of a String class as follows −import Cocoa // String creation using String literal var stringA = "Hello, Swift!" println( stringA ) // String creation using String instance var stringB = String("Hello, Swift!") println( stringB )When the above code is compiled and executed, it produces the following result −
Hello, Swift! Hello, Swift!
Empty String
You can create an empty String either by using an empty string literal or creating an instance of String class as shown below. You can also check whether a string is empty or not using the Boolean property isEmpty.import Cocoa // Empty string creation using String literal var stringA = "" if stringA.isEmpty { println( "stringA is empty" ) }else { println( "stringA is not empty" ) } // Empty string creation using String instance let stringB = String() if stringB.isEmpty { println( "stringB is empty" ) }else { println( "stringB is not empty" ) }When the above code is compiled and executed, it produces the following result −
stringA is empty stringB is empty
String Constants
You can specify whether your String can be modified (or mutated) by assigning it to a variable, or it will be constant by assigning it to a constant using let keyword as shown below −import Cocoa // stringA can be modified var stringA = "Hello, Swift!" stringA + = "--Readers--" println( stringA ) // stringB can not be modified let stringB = String("Hello, Swift!") stringB + = "--Readers--" println( stringB )When the above code is compiled and executed, it produces the following result −
Playground execution failed: error: <EXPR>:10:1: error: 'String' is not convertible to '@lvalue UInt8' stringB + = "--Readers--"
String Interpolation
String interpolation is a way to construct a new String value from a mix of constants, variables, literals, and expressions by including their values inside a string literal.Each item (variable or constant) that you insert into the string literal is wrapped in a pair of parentheses, prefixed by a backslash. Here is a simple example −
import Cocoa var varA = 20 let constA = 100 var varC:Float = 20.0 var stringA = "\(varA) times \(constA) is equal to \(varC * 100)" println( stringA )When the above code is compiled and executed, it produces the following result −
20 times 100 is equal to 2000.0
String Concatenation
You can use the + operator to concatenate two strings or a string and a character, or two characters. Here is a simple example −import Cocoa let constA = "Hello," let constB = "World!" var stringA = constA + constB println( stringA )When the above code is compiled and executed, it produces the following result −
Hello,World!
String Length
Swift strings do not have a length property, but you can use the global count() function to count the number of characters in a string. Here is a simple example −import Cocoa var varA = "Hello, Swift!" println( "\(varA), length is \(count(varA))" )When the above code is compiled and executed, it produces the following result −
Hello, Swift!, length is 13
String Comparison
You can use the == operator to compare two strings variables or constants. Here is a simple example −import Cocoa var varA = "Hello, Swift!" var varB = "Hello, World!" if varA == varB { println( "\(varA) and \(varB) are equal" ) }else { println( "\(varA) and \(varB) are not equal" ) }When the above code is compiled and executed, it produces the following result −
Hello, Swift! and Hello, World! are not equal
Unicode Strings
You can access a UTF-8 and UTF-16 representation of a String by iterating over its utf8 and utf16 properties as demonstrated in the following example −import Cocoa var unicodeString = "Dog‼🐶" println("UTF-8 Codes: ") for code in unicodeString.utf8 { print("\(code) ") } print("\n") println("UTF-16 Codes: ") for code in unicodeString.utf16 { print("\(code) ") }When the above code is compiled and executed, it produces the following result −
UTF-8 Codes: 68 111 103 226 128 188 240 159 144 182 UTF-16 Codes: 68 111 103 8252 55357 56374
String Functions & Operators
Swift supports a wide range of methods and operators related to Strings −S.No | Functions/Operators & Purpose |
---|---|
1 | isEmpty A Boolean value that determines whether a string is empty or not. |
2 | hasPrefix(prefix: String) Function to check whether a given parameter string exists as a prefix of the string or not. |
3 | hasSuffix(suffix: String) Function to check whether a given parameter string exists as a prefix of the string or not. |
4 | toInt() Function to convert numeric String value into Integer. |
5 | count() Global function to count the number of Characters in a string. |
6 | utf8 Property to return a UTF-8 representation of a string. |
7 | utf16 Property to return a UTF-16 representation of a string. |
8 | unicodeScalars Property to return a Unicode Scalar representation of a string. |
9 | + Operator to concatenate two strings, or a string and a character, or two characters. |
10 | += Operator to append a string or character to an existing string. |
11 | == Operator to determine the equality of two strings. |
12 | < Operator to perform a lexicographical comparison to determine whether one string evaluates as less than another. |
13 | == Operator to determine the equality of two strings. |
No comments:
Post a Comment