Быстрые символы и строки (с примерами)

В этом руководстве вы узнаете об использовании символов и строк в Swift. Вы также узнаете о различных операциях, которые можно выполнять со строками и символами.

Что есть персонаж?

Символ - это отдельный символ (буква, цифра и т. Д.). Символ в swift относится к Characterтипу и объявляется как:

 let someCharacter: Персонаж

Как объявить и назначить персонажа в Swift?

Вы можете присвоить значение в символьном типе, аналогичном String, используя двойные кавычки, " "но оно должно содержать только один символ внутри кавычек " ".

Если вам нужно включить более одного символа, вам нужно определить его Stringвместо Character.

Пример 1: Объявление и присвоение символа

 let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)

Когда вы запустите программу, вывод будет:

 H @

Пример 2: Назначение более одного символа (не работает)

Но если вы попытаетесь назначить два символа внутри символа как

 /* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter) 

Когда вы попытаетесь запустить приведенный выше код, вы получите сообщение об ошибке:

 Невозможно преобразовать значение типа String в Character.

Создание символа с использованием юникода и escape-последовательности

Вы также можете создать особый тип символов, например эмодзи, используя юникоды. Вы можете создать Unicode, используя escape-последовательность u (n) (кодовая точка unicode, n в шестнадцатеричном формате).

Пример 3: Создание символа Юникода

 let heartShape:Character = "u(2665)" print(heartShape) 

Когда вы запустите программу, вывод будет:

В приведенном выше примере символ в форме сердца был создан из кода U+2665. Несмотря u(2665)на то, что он заключен в двойные кавычки, компилятор не рассматривает его как, Stringпотому что мы использовали escape-последовательность u(n). Управляющая последовательность не представляет себя, если включена в литерал.

Что такое строка?

Строка - это просто набор символов. Строки в Swift имеют Stringтип и объявлены как:

 пусть someString: String

Как объявить и назначить строку в Swift?

Вы можете присвоить значение в виде String, используя строковые литералы. Строковый литерал - это набор символов, заключенных в двойные кавычки " ".

Пример 4: Объявление и присвоение строки

 let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)

Когда вы запустите программу, вывод будет:

Привет мир! Обожаю Свифт.

Здесь оба "Hello, world!"и "I love Swift."представляют собой строковые литералы, используемые для создания строковых переменных someString и someMessage соответственно.

Операции над строкой

В String есть несколько встроенных функций и свойств для работы с наиболее часто используемыми операциями. Например: чтобы соединить строки, измените его на верхний регистр или используйте заглавные буквы. Давайте рассмотрим некоторые часто используемые операции ниже:

Сравнение строк

Вы можете просто проверить, равны ли две строки или нет, используя оператор сравнения (==). Оператор возвращает возврат, trueесли обе строки равны, в противном случае он возвращает false.

Пример 5: сравнение строк в Swift

 let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage) 

Когда вы запустите программу, вывод будет:

 ложная правда

Конкатенация строк

Два разных строковых значения могут быть добавлены вместе с оператором сложения (+)или с использованием составного оператора присваивания (+=). Вы также можете добавить символ / строку в строку с помощью appendметода.

Пример 6: конкатенация строк в Swift

 let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result) 

Когда вы запустите программу, вывод будет:

 Привет, мир, привет, мир!

В приведенной выше программе мы создали строковый результат, добавив helloStr и worldStr с помощью оператора +. Итак, на экран print(result)выводится Hello, World .

Вы также можете добавить любой символ или строку с помощью appendметода. result.append("!")добавляет !символ в конец строки. Итак, print(result)выводы Hello, World! на экране.

Конкатенация строк с использованием расширенного оператора присваивания

Мы также можем использовать расширенный оператор присваивания (+ =) для добавления строки.

Пример 7: Конкатенация строк с использованием оператора + =

 var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr) 

Когда вы запустите программу, вывод будет:

 Привет мир!

Обратите внимание на использование var вместо let в helloStr. Если вы определили helloStr как константу с помощью let, вы не сможете изменить ее позже с помощью +=оператора и в конечном итоге получите ошибку. Итак, вам нужно определить helloStr как переменную.

Строчная интерполяция

Это простой процесс вычисления строкового литерала, который состоит из переменных, констант и т. Д. Представьте, что у вас есть имя и счет игрока, сохраненные в двух константах:

 let playerName = "Jack" let playerScore = 99

Теперь вам нужно вывести игроку сообщение: «Поздравляю, Джек! Ваш самый высокий балл - 99». Здесь вам нужен способ использовать значения констант в одной строке.

This can be achieved using string concatenation as:

 let congratsMessage = "Congratulations " + playerName + "!. Your highest score is " + playerScore + "." print(congratsMessage)

However, you can see this can get messy pretty soon. You have to take care of the spaces after the word Congratulations, is. Also, if you have to use more than two constants/variables, it will get unreadable.

There’s an easier way to display the message using string interpolation. Interpolation is the process to include value of a variable or constant inside string literal.

The variable or constant that should insert into the string literal is wrapped in a pair of parentheses ( ), prefixed by a backslash ().

Example 8: String interpolation in Swift

 let playerName = "Jack" let playerScore = 99 let congratsMessage = "Congratulations (playerName)!. Your highest score is (playerScore)." print(congratsMessage) 

When you run the program, the output will be:

 Congratulations Jack!. Your highest score is 99.

Some helpful built-in String functions & variables:

1. isEmpty

This function determines if a string is empty or not. It returns true if the string is empty otherwise, it returns false.

Example 9: isEmpty

 var emptyString = "" print(emptyString.isEmpty) 

When you run the program, the output will be:

 true

2. capitalized

This property is used to capitalize every word in a string.

Example 10: capitalized

 let someString = "hello, world!" print(someString.capitalized) 

When you run the program, the output will be:

 Hello, World!

3. uppercased and lowercased

The uppercased function converts string to uppercase letter and the lowercased function converts string to lowercase letter.

Example 11: uppercased() and lowercased()

 let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased()) 

When you run the program, the output will be:

 HELLO, WORLD! hello, world!

4. Length/count

This property is used to count the total number of characters in a string.

Example 12: count

 let someString = "Hello, World!" print(someString.count) 

When you run the program, the output will be:

 13

5. hasPrefix

Эта функция определяет, начинается ли строка с определенных символов или нет, и возвращает логическое значение. Он возвращается, trueесли префикс строки совпадает с предоставленным значением, в противном случае возвращается false.

Пример 13: hasPrefix ()

 let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell")) 

Когда вы запустите программу, вывод будет:

 правда ложь 

6. hasSuffix

Эта функция определяет, заканчивается ли строка определенными символами или нет, и возвращает логическое значение. Он возвращается, trueесли суффикс строки совпадает с предоставленным значением, в противном случае возвращается false.

Пример 14: hasSuffix ()

 print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!")) 

Когда вы запустите программу, вывод будет:

 правда ложь 

Интересные статьи...