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.0Kä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.