Dart:
Определение длины строки
Как это сделать:
Dart упрощает получение длины строки с помощью свойства length
. Вот простой пример:
void main() {
String myString = "Привет, Dart!";
print("Длина строки '\(myString)' составляет: \(myString.length)");
// Вывод: Длина строки 'Привет, Dart!' составляет: 12
}
Это свойство подсчитывает количество кодовых единиц UTF-16 в строке, что соответствует длине строки в большинстве обычных случаев.
Для более тонкой обработки текста, особенно с учётом символов Unicode за пределами Основной многоязычной плоскости (BMP), рассмотрите возможность использования пакета characters
для подсчёта кластеров графем, что более точно отражает символы, воспринимаемые пользователем.
Сначала добавьте characters
в ваш pubspec.yaml
:
dependencies:
characters: ^1.2.0
Затем используйте его следующим образом:
import 'package:characters/characters.dart';
void main() {
String myEmojiString = "👨👩👧👦 семья";
print("Длина строки '\(myEmojiString)' составляет: \(myEmojiString.characters.length)");
// Вывод: Длина строки '👨👩👧👦 семья' составляет: 8
}
В этом примере myEmojiString.characters.length
даёт нам длину в терминах кластеров графем Unicode, что является более точным представлением для строк, содержащих сложные символы, такие как эмодзи или комбинированные символы.