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.