Dart 区切り文字を指定してリスト(配列)を連結して文字列に変換する
Dartで、区切り文字を指定してリスト(配列)を連結して文字列に変換するコードを記述してます。「join」に区切り文字を指定することで変換することができます。空のリストに使用すると空文字が返ります。
環境
- OS windows11 home
- Dart 2.18.4
連結して文字列に変換
連結して文字列に変換するには「 join 」を使用します。
リスト.join(区切り文字)
※String型が返ります
実際に、使用して変換してみます。「runtimeType」で変換後の型も取得してます。
void main() {
var list = ['aaa', 'bbb', 'ccc'];
print(list.join('-')); // aaa-bbb-ccc
print(list.join(',')); // aaa,bbb,ccc
print(list.join('')); // aaabbbccc
print(list.join('-').runtimeType); // String
}
実行結果を見ると、変換されていることが確認できます。
数値であっても、文字列に変換されます。
void main() {
var list = [1, 2, 3];
print(list.join('-')); // 1-2-3
print(list.join(',')); // 1,2,3
print(list.join('')); // 123
print(list.join('-').runtimeType); // String
}
空のリストに使用すると空文字となります。
void main() {
var list = [];
print(list.join('-')); //
print(list.join('-').runtimeType); // String
}
二次元のリスト
見た目はおかしいですが、二次元のリストにも使用できます。
void main() {
var list = [['aaa', 'bbb'],['ccc', 'ddd']];
print(list.join('-')); // [aaa, bbb]-[ccc, ddd]
print(list.join(',')); // [aaa, bbb],[ccc, ddd]
print(list.join('')); // aaa, bbb][ccc, ddd]
print(list.join('-').runtimeType); // String
}
1度フラットにしてから使用すると各値に対して、連結することが可能です。
void main() {
var list = [['aaa', 'bbb'],['ccc', 'ddd']].expand((v) => v).toList();
print(list.join('-')); // aaa-bbb-ccc-ddd
print(list.join(',')); // aaa,bbb,ccc,ddd
print(list.join('')); // aaabbbcccddd
print(list.join('-').runtimeType); // String
}
文字列からリスト(配列)に変換
文字列からリストに戻すには「split」を使用します。
void main() {
var list = [1, 2, 3];
var result = list.join('-');
print(result.split("-")); // [1, 2, 3]
}
-
前の記事
GAS スプレッドシートのワークブックを選択する 2022.11.07
-
次の記事
javascript エラー「Uncaught TypeError: Cannot destructure property ‘xxx’ of ‘undefined’ as it is undefined.」の解決方法 2022.11.07
コメントを書く