Определение длины строки

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, что является более точным представлением для строк, содержащих сложные символы, такие как эмодзи или комбинированные символы.