Spec-Zone.ru › Dart 1

dart:core

Абстрактный класс String

Последовательность символов.

Строка может быть однострочной или многострочной. Однострочные строки записываются с использованием одинарных или двойных кавычек, а многострочные — с использованием тройных кавычек. Ниже приведены допустимые примеры Dart-строк:

'Single quotes';
"Double quotes";
'Double quotes in "single" quotes';
"Single quotes in 'double' quotes";

'''A
multiline
string''';

"""
Another
multiline
string""";

Строки неизменяемы. Хотя вы не можете изменить строку, вы можете выполнить операцию над строкой и присвоить результат новой строке:

var string = 'Dart is fun';
var newString = string.substring(0, 5);

Вы можете использовать оператор плюс (+) для конкатенации строк:

'Dart ' + 'is ' + 'fun!'; // 'Dart is fun!'

Вы также можете использовать смежные строковые литералы для конкатенации:

'Dart ' 'is ' 'fun!';    // 'Dart is fun!'

Вы можете использовать ${} для интерполяции значения выражений Dart в строках. Фигурные скобки можно опустить при вычислении идентификаторов:

string = 'dartlang';
'$string has ${string.length} letters'; // 'dartlang has 8 letters'

Строка представлена последовательностью единиц кода Unicode UTF-16, доступных через члены codeUnitAt или codeUnits:

string = 'Dart';
string.codeUnitAt(0); // 68
string.codeUnits;     // [68, 97, 114, 116]

Представление строки в виде кодовых единиц доступно через оператор индексации:

string[0];            // 'D'

Символы строки закодированы в UTF-16. Декодирование UTF-16, которое объединяет парные суррогаты, дает символы Unicode. Следуя терминологии Go, мы используем название «rune» для целого числа, представляющего символ Unicode. Используйте свойство runes, чтобы получить руны строки:

string.runes.toList(); // [68, 97, 114, 116]

Для символа вне Основной многоязычной плоскости (плоскость 0), который состоит из пары суррогатов, runes объединяет пару и возвращает единственное целое число. Например, символ Unicode для музыкальной ключа G ('𝄞') со значением руны 0x1D11E состоит из пары UTF-16 суррогатов: 0xD834 и 0xDD1E. Используя codeUnits, возвращается пара суррогатов, а используя runes возвращается их объединённое значение:

var clef = '\u{1D11E}';
clef.codeUnits;         // [0xD834, 0xDD1E]
clef.runes.toList();    // [0x1D11E]

Класс String не может быть расширен или реализован. Попытка сделать это приведёт к ошибке компиляции.

Другие ресурсы

См. StringBuffer для эффективного пошагового построения строк. См. RegExp для работы с регулярными выражениями.

См. также:

  • Dart Cookbook для примеров и рецептов работы со строками.
  • Dart Up and Running
Реализует
  • Comparable<String>
  • Pattern

Конструкторы

String.fromCharCode(int charCode)
factory

Выделяет новую строку для указанного charCode.

String.fromCharCodes(Iterable<int> charCodes, [ int start = 0, int end ])
factory

Выделяет новую строку для указанного charCodes.

String.fromEnvironment(String name, { String defaultValue })
const
factory

Возвращает строковое значение объявления среды name.

Свойства

codeUnits → List<int>
только для чтения

Возвращает неизменяемый список единиц кода UTF-16 этой строки.

hashCode → int
только для чтения

Возвращает хеш-код, вычисленный из единиц кода строки.

isEmpty → bool
только для чтения

Возвращает true, если эта строка пуста.

isNotEmpty → bool
только для чтения

Возвращает true, если эта строка не пуста.

length → int
только для чтения

Длина строки.

runes → Runes
только для чтения

Возвращает Iterable последовательности символов Unicode этой строки.

runtimeType → Type
только для чтения, унаследованное

Представление типа объекта во время выполнения.

Операторы

operator *(int times) → String

Создаёт новую строку путём конкатенации этой строки с собой заданное число раз.

operator +(String other) → String

Создаёт новую строку путём конкатенации этой строки с other.

operator ==(Object other) → bool

Возвращает true, если other является String с той же последовательностью единиц кода.

operator [](int index) → String

Возвращает символ (как строка с одной единицей кода String) по указанному index.

Методы

codeUnitAt(int index) → int

Возвращает 16-битный код символа UTF-16 в указанной index.

contains(Pattern other, [ int startIndex = 0 ]) → bool

Возвращает true, если эта строка содержит соответствие other:

endsWith(String other) → bool

Возвращает true, если эта строка заканчивается other. Например:

indexOf(Pattern pattern, [ int start ]) → int

Возвращает позицию первого соответствия pattern в этой строке, начиная с start, включительно:

lastIndexOf(Pattern pattern, [ int start ]) → int

Возвращает позицию последнего соответствия pattern в этой строке, выполняя поиск в обратном порядке, начиная с start, включительно:

padLeft(int width, [ String padding = ' ' ]) → String

Дополняет эту строку слева, если она короче, чем width.

padRight(int width, [ String padding = ' ' ]) → String

Дополняет эту строку справа, если она короче, чем width.

replaceAll(Pattern from, String replace) → String

Заменяет все подстроки, соответствующие from, на replace.

replaceAllMapped(Pattern from, String replace(Match match)) → String

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

replaceFirst(Pattern from, String to, [ int startIndex = 0 ]) → String

Возвращает новую строку, в которой первое вхождение from в этой строке заменено на to, начиная с startIndex:

replaceFirstMapped(Pattern from, String replace(Match match), [ int startIndex = 0 ]) → String

Заменяет первое вхождение from в этой строке.

replaceRange(int start, int end, String replacement) → String

Заменяет подстроку от start до end на replacement.

split(Pattern pattern) → List<String>

Разделяет строку по соответствиям pattern и возвращает список подстрок.

splitMapJoin(Pattern pattern, { String onMatch(Match match), String onNonMatch(String nonMatch) }) → String

Разделяет строку, преобразует ее части и объединяет их в новую строку.

startsWith(Pattern pattern, [ int index = 0 ]) → bool

Возвращает true, если эта строка начинается с соответствия pattern.

substring(int startIndex, [ int endIndex ]) → String

Возвращает подстроку этой строки, которая простирается от startIndex, включительно, до endIndex, не включая.

toLowerCase() → String

Преобразует все символы в этой строке в нижний регистр. Если строка уже в нижнем регистре, этот метод возвращает this.

toUpperCase() → String

Преобразует все символы в этой строке в верхний регистр. Если строка уже в верхнем регистре, этот метод возвращает this.

trim() → String

Возвращает строку без начальных и конечных пробелов.

trimLeft() → String

Возвращает строку без начальных пробелов.

trimRight() → String

Возвращает строку без конечных пробелов.

allMatches(String string, [ int start = 0 ]) → Iterable<Match>
inherited

Подбирает этот шаблон к строке многократно.

compareTo(String other) → int
inherited

Сравнивает этот объект с другим объектом Comparable

matchAsPrefix(String string, [ int start = 0 ]) → Match
inherited

Подбирает этот шаблон к началу string.

noSuchMethod(Invocation invocation) → dynamic
inherited

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

toString() → String
inherited

Возвращает строковое представление этого объекта.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/String-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API