Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика XCode

Разработчик

Справочное руководство по библиотеке стандарта Swift

PDF
На этой странице

Строка

A String представляет упорядоченный набор символов.

Для полного обсуждения Строки посмотрите Строки и Символы.

Создание строки

init ()

Создает пустую строку.

Объявление

  • init()

Обсуждение

Создание строки с помощью этого инициализатора:

  • let emptyString = String()

эквивалентно использованию синтаксиса удобства двойной кавычки:

  • let equivalentString = ""

init (count:repeatedValue:)

Создает строку с отдельным символом, или скалярное значение Unicode повторило данное число раз.

Объявление

  • init(count sz: Int, repeatedValue c: Character)
  • init(count: Int, repeatedValue c: UnicodeScalar)

Обсуждение

Получившая строка содержит предоставленный repeatedValue символ или скалярное значение Unicode, повторенное конкретное количество времен:

  • let letterA: Character = "a"
  • let string = String(count: 5, repeatedValue: letterA)
  • // string is "aaaaa"
  • let letterB: UnicodeScalar = "\u{0062}"
  • let anotherString = String(count: 5, repeatedValue: letterB)
  • //anotherString is "bbbbb"

Запросы строки

isEmpty

Булево значение, указывающее, является ли строка пустой (только для чтения).

Объявление

  • var isEmpty: Bool { get }

Обсуждение

Используйте это свойство только для чтения, чтобы запросить, пуста ли строка, что означает, что это не имеет никаких символов:

  • var string = "Hello, world!"
  • let firstCheck = string.isEmpty
  • // firstCheck is false
  • string = ""
  • let secondCheck = string.isEmpty
  • // secondCheck is true

hasPrefix (_:)

Возвращает булево значение, указывающее, совпадают ли первые символы в строке с символами в указанной строке.

Объявление

  • func hasPrefix(prefix: String) -> Bool

Обсуждение

Используйте этот метод, чтобы определить, имеет ли строка определенный префикс:

  • let string = "Hello, world"
  • let firstCheck = string.hasPrefix("Hello")
  • // firstCheck is true
  • let secondCheck = string.hasPrefix("hello")
  • // secondCheck is false

Этот метод perfoms познаковая каноническая эквивалентность comparision между Unicode расширил кластеры графемы в каждой строке.

hasSuffix (_:)

Возвращает булево значение, указывающее, совпадают ли последние знаки в строке с символами в указанной строке.

Объявление

  • func hasSuffix(suffix: String) -> Bool

Обсуждение

Используйте этот метод, чтобы определить, имеет ли строка определенный суффикс:

  • let string = "Hello, world"
  • let firstCheck = string.hasSuffix("world")
  • // firstCheck is true
  • let secondCheck = string.hasSuffix("World")
  • // secondCheck is false

Этот метод perfoms познаковая каноническая эквивалентность comparision между Unicode расширил кластеры графемы в каждой строке.

Преобразование строк

toInt ()

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

Объявление

  • func toInt() -> Int?

Обсуждение

Используйте этот метод для преобразования строки в целочисленное значение. Метод возвращает дополнительное целочисленное значение (Int?) — если преобразование успешно выполняется, значение является получающимся целым числом; если преобразование перестало работать, значение nil:

  • let string = "42"
  • if let number = string.toInt() {
  • println("Got the number: \(number)")
  • } else {
  • println("Couldn't convert to a number")
  • }
  • // prints "Got the number: 42"

Операторы

+

Возвращает строку, содержащую результат конкатенации двух строк.

Объявление

  • func +(lhs: String, rhs: String) -> String

Обсуждение

Используйте + оператор для конкатенации двух строк:

  • let combination = "Hello " + "world"
  • // combination is "Hello world"

Если значение, предоставленное на левой стороне оператора, является пустой строкой, результирующее значение является неизмененным значением на правой стороне.

+=

Добавляет строку к существующей строке.

Объявление

  • func +=(inout lhs: String, rhs: String)

Обсуждение

Используйте += оператор для добавления строки до конца существующей строки:

  • var string = "Hello "
  • string += "world!"
  • // string is "Hello world!"

Если начальная строка пуста, результирующее значение является неизмененным rhs значение.

Можно только использовать += оператор для добавления строки к существующей строке, если Вы объявили существующую строку с помощью var ключевое слово (т.е. как переменная и не константа):

  • let string = "Hello "
  • string += "world!"
  • // Error: cannot mutate a constant string

==

Возвращает булево значение, указывающее, является ли содержание двух строк тем же.

Объявление

  • func ==(lhs: String, rhs: String) -> Bool

Обсуждение

Оценивает к true если два строковых значения содержат точно те же символы в точно том же порядке:

  • let string1 = "Hello world!"
  • let string2 = "Hello" + " " + "world" + "!"
  • let result = string1 == string2
  • // result is true

Этот метод perfoms познаковая каноническая эквивалентность comparision между Unicode расширил кластеры графемы в каждой строке.

<

Возвращает булево значение, указывающее, предшествует ли одна строка лексикографически другому.

Объявление

  • func <(lhs: String, rhs: String) -> Bool

Обсуждение

Оценивает к true если lhs значение является меньше, чем rhs значение, путем выполнения лексикографического, нечувствительного к локали сравнения символов:

  • let string1 = "Number 3"
  • let string2 = "Number 2"
  • let result1 = string1 < string2
  • // result1 is false
  • let result2 = string2 < string1
  • // result2 is true

Эта работа нечувствительна к локали. В результате при сравнении строк для представления конечному пользователю, необходимо обычно использовать один из чувствительных к локали методов сравнения NSString класс вместо этого. Например, посмотрите compare:options:range:locale:, localizedCompare:, и localizedCaseInsensitiveCompare: методы NSString класс.