English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете о использовании символов и строк в Swift. Вы также узнаете о различных операциях, которые можно выполнять с строками и символами.
Символы - это отдельные знаки (буквы, цифры и т.д.). В Swift символы являются типом Character и объявляются как:
let someCharacter:Character
Вы можете использовать двойные кавычки "" для указания значения типа символа, такого же как у строки, но в кавычках может содержаться только один символ.
Если нужно включить несколько символов, то их необходимо определить как тип String, а не Character.
let someCharacter:Character = "H" let specialCharacter:Character = "@" print(someCharacter) print(specialCharacter)
При выполнении программы, вывод будет:
H @
Но если вы пытаетесь分配 два символа в строке
/* Это вызовет ошибку. Изменение типа на строку может исправить эту проблему. */ let failableCharacter: Character = "H@" print(failableCharacter)
Когда вы пытаетесь запустить上面的 код, вы получите следующее сообщение об ошибке:
Cannot convert value of type String to Character. (Не удалось преобразовать значение типа String в Character.)
Вы также можете использовать unicodes для создания специальных типов символов для emoticons. Вы можете создать unicode (unicode код точки, n - шестнадцатеричное число) с помощью последовательности escape \u {n}.
let heartShape: Character = "\u{2665}" print(heartShape)
При выполнении программы, вывод будет:
♥
В предыдущем примере символ сердца был создан из кода U + 2665.尽管\u {2665} заключен в двойные кавычки, компилятор не рассматривает его как String, потому что мы используем последовательность逃 meille \u {n}. Секvensии escape, содержащиеся в литералах, не представляют собой самих себя.
Строки представляют собой набор символов. В Swift строки являются типом String и объявляются следующим образом:
let someString: String
Вы можете использоватьСтроковые литералыПрисваивайте значения типа String. Строковые литералы представляют собой набор символов, заключенных в двойные кавычки "".
let someString: String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
При выполнении программы, вывод будет:
Hello, world! I love Swift.
Здесь "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)
При выполнении программы, вывод будет:
false true
Можно использоватьоператор сложения (+) или использоватьКомпозиционные операторы присваивания (+=) складывает два различных значения строк. Вы также можете использовать метод append для добавления символа или строки в строку.
Пример 6: Слияние строк в Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
При выполнении программы, вывод будет:
Hello, World Hello, World!
В вышеуказанном的程序ме мы создали строку, присоединяя и используя оператор +Строка result. Поэтому helloStrworldStrprint(result) выводит на экранHello, World.
Вы также можете использовать метод append для добавления любого символа или строки. result.append("!") добавляет символ ! в конец строки. Поэтому print(result) выводит на экранHello, World!.
Слияние строк с использованием продвинутых операторов присваивания
Мы также можем использовать продвинутые операторы присваивания (+=) для слияния строк.
Пример 7: Слияние строк с использованием оператора +=
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
При выполнении программы, вывод будет:
Hello, World!
Обратите внимание, что в helloStr используется var, а не let. Если вы уже использовали let для определения helloStr константы, то впоследствии вы не сможете изменить её с помощью оператора += и в конечном итоге получите ошибку. Поэтому вам нужно определить helloStr переменную.
Это простая процедура, строковое литерал, включая переменные, константы и т.д. Предположим, что у вас есть имя игрока и оценка, хранящиеся в двух константах, как:
let playerName = "Jack" let playerScore = 99
Теперь вам нужно показать игроку сообщение: "ПоздравляемJackВаш максимальный балл составляет 99!Здесь вам нужно метод для использования константных значений в одном строковом выражении.
Это можно сделать с помощью соединения строк:
let congratsMessage = "恭喜 " + playerName + "!. 您的最高分是 " + playerScore + "." print(congratsMessage)
Но, вышеупомянутый способ обладает较差ой читаемостью.
Таким образом, есть简便的方法 для отображения сообщений с использованием строковой интерполяции. Интерполяция - это процесс включения значений переменных или констант в строку literals.
Следует заключать переменные или константы, которые должны быть вставлены в строку literals, в скобки ( ), и начинать с обратной косой черты (\).
let playerName = "Jack" let playerScore = 99 let congratsMessage = "恭喜\(playerName)!. 您的最高分是 \(playerScore)." print(congratsMessage)
При выполнении программы, вывод будет:
Поздравляем Jack!. Ваш наивысший балл составляет 99.
Эта функция определяет, пуста ли строка. Она возвращает true, если строка пуста, в противном случае возвращает false.
var emptyString = "" print(emptyString.isEmpty)
При выполнении программы, вывод будет:
true
Эта�性 используется для написания каждого слова в строке верхним регистром.
let someString = "hello, world!" print(someString.capitalized)
При выполнении программы, вывод будет:
Hello, World!
Функция верхнего регистра преобразует строку в заглавные буквы, функция нижнего регистра преобразует строку в строчные буквы.
let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased())
При выполнении программы, вывод будет:
HELLO, WORLD! hello, world!
Эта�性 используется для вычисления总数 символов в строке.
let someString = "Hello, World!" print(someString.count)
При выполнении программы, вывод будет:
13
Эта функция определяет, начинается ли строка с определенного символа, и возвращает логическое значение true. Если строковый префикс соответствует предоставленному значению, то возвращает true, в противном случае возвращает false.
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
При выполнении программы, вывод будет:
true false
Эта функция определяет, заканчивается ли строка определенными символами и возвращает логическое значение. Если суффикс строки совпадает с предоставленным значением, возвращается true, в противном случае false.
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
При выполнении программы, вывод будет:
true false