• Home
  • Basics
  • DSA
  • MAD
  • Concept
  • Practice
  • Misc
    • Tips
    • QA’s
    • Misc
  • Course
  • Home
  • Basics
  • DSA
  • MAD
  • Concept
  • Practice
  • Misc
    • Tips
    • QA’s
    • Misc
  • Course
  • #News
  • #APPS
  • #Apple WWDC
  • #Google I/O
  • #Microsoft Ignite
  • #Let’s Talk
  • #Advertise

MyCodeTips mycodetips-newlogocopy1

  • Home
  • Basics
  • DSA
  • MAD
  • Concept
  • Practice
  • Misc
    • Tips
    • QA’s
    • Misc
  • Course
Swift

Characters and Strings in Swift

Characters and Strings in Swift, A string is a series of characters, such as “hello, world”. Swift strings are represented by the String type.

The contents of a String can be accessed in various ways, including as a collection of Character values.
The syntax for string creation and manipulation is lightweight and readable, with a string literal syntax that’s similar to C

String Instance

We can also create a string using an initializer syntax.

var str = String()

String Literals

A string literal is a sequence of characters surrounded by double quotation marks (“).

let someString = “Some string”

Multiline String Literals

If you need a string that spans several lines, use a multiline string literal—a sequence of characters surrounded by three double quotation marks

// multiline string 
var str: String = """
Swift is awesome
I love Swift
"""

Special Characters in String Literals

String literals can include the following special characters:

The escaped special characters 
\0 (null character), 
\\ (backslash), 
\t (horizontal tab), 
\n (line feed), 
\r (carriage return), 
\" (double quotation mark)
\' (single quotation mark)

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.

// create character variable
var letter: Character = "H"
print(letter)  // H

Swift String

In Swift, a string is used to store textual data (“Swift is awesome.”).

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

let name: String = "Swift"
print(name)

Compare Two Strings

We use the == operator to compare two strings. If two strings are equal, the operator returns true.

let str1 = "Hello, world!"
let str2 = "I love Swift."

// compare str1 and str2
print(str1 == str2)

Join Two Strings

We use the append() function to join two strings in Swift. 
var greet = "Hello "
var name = "Mycodetips"

// using the append() method
greet.append(name)
print(greet)

Concatenate String

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

var greet = "Hello, "
let name = "Mycodetips"

// using + operator
var result = greet + name
print(result)

//using =+ operator
greet +=  name
print(greet)

Find Length of String

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

let message = "Hello, World!"

// count length of a string
print(message.count) // 13

Escape Sequences

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

// use the escape character
var example = "This is \"String\" class"
print(example)

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. You can use string interpolation in both single-line and multiline string literals. Each item that you insert into the string literal is wrapped in a pair of parentheses, prefixed by a backslash ()

let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
// message is "3 times 2.5 is 7.5"

Counting Characters

To retrieve a count of the Character values in a string, use the count property of the string

let unusualMenagerie = "Koala, Snail, Penguin, Dromedary"
print("unusualMenagerie has \(unusualMenagerie.count) characters")
// Prints "unusualMenagerie has 40 characters"

var word = "cafe"
print("the number of characters in \(word) is \(word.count)")
// Prints "the number of characters in cafe is 4"

String Indices

Each String value has an associated index type, String.Index, which corresponds to the position of each Character in the string.

Inserting and Removing

To insert a single character into a string at a specified index, use the insert(_:at:) method, and to insert the contents of another string at a specified index, use the insert(contentsOf:at:) method.

var welcome = "hello"
welcome.insert("!", at: welcome.endIndex)
// welcome now equals "hello!"

welcome.insert(contentsOf: " there", at: welcome.index(before: welcome.endIndex))
// welcome now equals "hello there!"

Substrings

Characters and Strings,When you get a substring from a string—for example, using a subscript or a method like prefix(_:)—the result is an instance of Substring, not another string. Substrings in Swift have most of the same methods as strings, which means you can work with substrings the same way you work with strings.

let greeting = "Hello, world!"
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex
let beginning = greeting[..<index]
// beginning is "Hello"

Prefix and Suffix Equality

To check whether a string has a particular string prefix or suffix, call the string’s hasPrefix(🙂 and hasSuffix(🙂 methods, both of which take a single argument of type String and return a Boolean value.

You can use the hasPrefix(_:) method with the romeoAndJuliet array to count the number of scenes in Act 1 of the play

var act1SceneCount = 0
for scene in romeoAndJuliet {
    if scene.hasPrefix("Act 1 ") {
        act1SceneCount += 1
    }
}
print("There are \(act1SceneCount) scenes in Act 1")
// Prints "There are 5 scenes in Act 1"
Similarly, use the hasSuffix(_:) method to count the number of scenes that take place in or around Capulet’s mansion and Friar Lawrence’s cell:

var mansionCount = 0
var cellCount = 0
for scene in romeoAndJuliet {
    if scene.hasSuffix("Capulet's mansion") {
        mansionCount += 1
    } else if scene.hasSuffix("Friar Lawrence's cell") {
        cellCount += 1
    }
}
print("\(mansionCount) mansion scenes; \(cellCount) cell scenes")
// P

Unicode Representations of Strings

When a Unicode string is written to a text file or some other storage, the Unicode scalars in that string are encoded in one of several Unicode-defined encoding forms.

UTF-8 Representation

You can access a UTF-8 representation of a String by iterating over its utf8 property. This property is of type String.

UTF-16 Representation

You can access a UTF-16 representation of a String by iterating over its utf16 property. This property is of type String.

Unicode Scalar Representation

You can access a Unicode scalar representation of a String value by iterating over its unicodeScalars property. This property is of type UnicodeScalarView, which is a collection of values of type UnicodeScalar.

Happy Coding using Characters and Strings:)

  • Click to share on Reddit (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on Twitter (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • More
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
Written by Ranjan - September 29, 2021 - 3680 Views
Tags | IOS, swift
AUTHOR
Ranjan

This website is basically about of what we learnt from my years of experience as a software engineer on software development specifically on mobile application development, design patterns/architectures and its changing scenarios, security, troubleshooting, tools, tips&tricks and many more.

You Might Also Like

placeholder

How to insert Placeholder in UITextView

March 24, 2020
mycodetips-newlogo2

How to use datatype in IOS or Objective-c

September 26, 2013
if-else-if-else

Conditionals in Swift ( If, Else If, Else )

August 5, 2021
Next Post
Previous Post

Support us

Subscribe for updates

Join 8,278 other subscribers

Latest Posts

  • Exploring Single Point Failure
    Exploring Single Point Failures: Causes and Impacts
  • primitive-datatypes-new
    Exploring the Pros and Cons of Primitive Data Types
  • best practice clean code
    Essential Coding Standards and Best Practices for Clean Code
  • YT-Featured-Templates--lld
    What Business Problems Solves in Low Level Design (LLD)
  • SRP-SingleResopnsibility
    SRP : Single Responsibility Principle in Swift and Objective-C
whiteboard

Whiteboard(PRO)

whiteboard

Whiteboard(lite)

alphabets

Kids Alphabet

do2day

Do2Day

  • #about
  • #myapps
  • #contact
  • #privacy
  • #Advertise
  • #myQuestions

Android Database Interview IOS IOSQuestions Javascript Objective-c Programming Swift Tips&Tricks Web Wordpress

  • Exploring Single Point Failures: Causes and Impacts
  • Exploring the Pros and Cons of Primitive Data Types
  • Essential Coding Standards and Best Practices for Clean Code
MyCodeTips

©mycodetips.com

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.