Swift Characters and Strings

Swift Character

Character is a data type that represents a single-character string ("a", "@", "5", etc).

We use the Character keyword to create character-type variables in Swift. For example,

var letter: Character

Here, the letter variable can only store single-character data.


Character Example

In the above example, we have created two character variables: letter and symbol. Here, we have assigned "H" to letter and "@" to symbol.

Note: If we try to assign more than one character to a Character variable, we will get an error.

// create character variable
let test: Character = "H@" 

print(test)

// Error:
// cannot convert value of type 'String' to specified type Character

Swift String

In Swift, a string is used to store textual data ("Hey There!", "Swift is awesome.", etc).

We use the String keyword to create string-type variables. For example,

let name: String

Here, the name variable can only store textual data.

Note: Since a string contains multiple characters, it is called a sequence of characters.


String Example

Output

Swift
I love Swift.

In the above example, we have created string-type variables: name and message with values "Swift" and "I love Swift" respectively.

Notice the statement,

let message = "I love Swift."

Here, we haven't used the String keyword while creating the variable. It is because Swift is able to infer the type based on the value.

Note: In Swift, we use double quotes to represent strings and characters.


String Operations

The String class in Swift provides various built-in functions that allow us to perform different operations on strings.

1. Compare Two Strings

We use the == operator to compare two strings. If two strings are equal, the operator returns true. Otherwise, it returns false. For example,

Output

false
true

In the above example,

  • str1 and str2 are not equal. Hence, the result is false.
  • str1 and str3 are equal. Hence, the result is true.

2. Join Two Strings

We use the append() function to join two strings in Swift. For example,

Output

Hello Jack

In the above example, we have used the append() method to join name and greet.

Concatenate Using + and +=

We can also use the + and += operators to concatenate two strings.

Output

Hello, Jack
Hello, Jack

In the above example, we have used the + and += operators to join two strings: greet and name.

Note: We cannot create greet using let. It is because the += operator joins two strings and assigns the new value to greet.


3. Find Length of String

We use the count property to find the length of a string. For example,

Note: The count property counts the total number of characters in a string including whitespaces.


Other Built-in Functions

Built-in function Description
isEmpty determines if a string is empty or not
capitalized capitalizes the first letter of every word in a string
uppercased() converts string to uppercase
lowercase() converts string to lowercase
hasPrefix() determines if a string starts with certain characters or not
hasSuffix() determines if a string ends with certain characters or not

Escape Sequences

The escape sequence is used to escape some of the characters present inside a string.

Suppose we need to include double quotes inside a string.

Since strings are represented by double quotes, the compiler will treat "This is " as the string. Hence, the above code will cause an error.

To solve this issue, we use the escape character \ in Swift.

Now the program will run without any error. Here, the escape character will tell the compiler to ignore the character after \.

Here is a list of all the escape sequences supported by Swift.

Escape Sequences Character
\0 null
\\ plain backslash
\t a horizontal tab
\n line feed
\" double quote

String Interpolation

We can also use the backslash character \ to use variables and constants inside a string. For example,

Output

This is Swift programming.

In the above example, notice the line

var message = "This is \(name) programming."

Here, we are using the name variable inside the string message. This process is called String Interpolation in Swift.


Swift Multiline String

We can also create a multiline string in Swift. For this, we use triple double quotes """. For example,

Output

Swift is awesome
I love Swift

In the above example, anything inside the enclosing triple-quotes is one multiline string.

Note: Multi-line strings must always begin on a new line. Otherwise, it will generate an error.

// error code
var str = """Swift 
I love Swift
"""

Create String Instance

We can also create a string using an initializer syntax. For example,

var str = String()

Here, the initializer syntax String() will create an empty string.