Dart インデックス番号を指定して文字列から文字を抽出する

Dartで、インデックス番号を指定して文字列から文字を抽出するコードを記述してます。「[]」内にインデックス番号を指定することで可能です。
環境
- OS windows11 home
- Dart 2.18.6
インデックス番号を指定して文字列から文字を抽出
インデックス番号を指定して文字列から文字を抽出するには、「 文字列[] 」を使用します。
文字列[インデックス番号]
※ 開始位置は「0」から
実際に、使用してみます。
void main() {
String str = 'あいうえお';
print(str[0]); // あ
print(str[1]); // い
print(str[2]); // う
}
実行結果を見ると、取得できていることが確認できます。

存在しないインデックスを指定すると、エラーが返ります。
void main() {
String str = 'あいうえお';
print(str[5]);
}
Unhandled exception:
RangeError (index): Invalid value: Not in inclusive range 0..4: 5
#0 _StringBase.[] (dart:core-patch/string_patch.dart:260:41)
#1 main (file:///c:/sample/main.dart:5:12)
#2 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
サロゲートペア
通常の2バイトで1文字で表すところを、4バイトで1文字となるサロゲートペア文字の場合は、正常に動作しません。
void main() {
String str = '😨😸😹😱🙊';
print(str[0]); // �
print(str[1]); // �
print(str[2]); // �
}
実行結果

-
前の記事
MariaDB 照合順序を抽出する 2023.05.31
-
次の記事
MariaDB indexの統計情報の最終更新日時を確認する 2023.06.01
コメントを書く