Merkkijonon pituuden selvittäminen

Dart:
Merkkijonon pituuden selvittäminen

Kuinka:

Dart tekee merkkijonon pituuden saamisesta suoraviivaista käyttäen length -ominaisuutta. Tässä on perusesimerkki:

void main() {
  String myString = "Hello, Dart!";
  print("Merkkijonon '\(myString)' pituus on: \(myString.length)");
  // Tulostus: Merkkijonon 'Hello, Dart!' pituus on: 12
}

Tämä ominaisuus laskee merkkijonossa olevien UTF-16 koodiyksiköiden määrän, mikä vastaa merkkijonon pituutta useimmissa yleisissä käyttötapauksissa.

Hienostuneempaa tekstinkäsittelyä varten, erityisesti Unicode-merkkejä käsiteltäessä Basic Multilingual Plane (BMP) -tasosta poikkeavilla, harkitse characters-paketin käyttöä grafeemiklusterien laskemiseen, mikä edustaa tarkemmin käyttäjän havaitsemia merkkejä.

Lisää ensin characters pubspec.yaml-tiedostoosi:

dependencies:
  characters: ^1.2.0

Käytä sitten seuraavasti:

import 'package:characters/characters.dart';

void main() {
  String myEmojiString = "👨‍👩‍👧‍👦 perhe";
  print("Merkkijonon '\(myEmojiString)' pituus on: \(myEmojiString.characters.length)");
  // Tulostus: Merkkijonon '👨‍👩‍👧‍👦 perhe' pituus on: 8
}

Tässä esimerkissä myEmojiString.characters.length antaa meille pituuden Unicode-grafeemiklusterien määränä, mikä on tarkempi edustus merkkijonoille, jotka sisältävät monimutkaisia merkkejä, kuten emojit tai yhdistetyt merkkimerkit.