我有一个如下所示的传入套接字数据;
示例1 : 1#。#4#。#B#。#175.52#。#USD#。#货币
示例2: 2#。#4#。#MyName#。#MySurname#。#MyCity#。#MyCountry#。#YourName#。#YourSurname#。#YourCity#。#YourCountry
示例1的说明: 分隔器: #。# 列数:4 行数:1
Col1 Col2 Col3 Col4
Row-1: B 175.52 USD Currency
示例2的说明: 分隔器: #。# 列数:4 行数:2
Col1 Col2 Col3 Col4
Row-1: MyName MySurname MyCity MyCountry
Row-2: YourName. YourSurname YourCity YourCountry
在飞镖(或飞镖)中,如何将其添加到列表或数组中?最佳做法是什么? 如何使用分割函数迭代传入的字符串并添加一些数组?
更新1:
我知道如何使用拆分功能。我的问题是我需要在表,数组或映射中添加字符串,以便可以将其保存到设备中并在以后使用。如何实现呢?我需要在Fluter中使用该功能。
main() {
String mText = "1#.#4#.#B#.#175.52#.#USD#.#Currency";
List<String> mData = mText.split("#.#");
print(mData.toString());
// The List: [1, 4, B, 175.52, USD, Currency]
}
请帮忙吗?
答案 0 :(得分:2)
这可以做到吗?
List<List<String>> makeTable(String text) {
var entries = text.split("#.#");
if (entries.length < 2) {
throw ArgumentError.value(text, "text", "Invalid format");
}
int row = int.parse(entries[0]);
int col = int.parse(entries[1]);
if (entries.length != 2 + row * col) {
throw ArgumentError.value(text, "text", "Invalid format");
}
return List.generate(row, (i) =>
entries.sublist(2 + i * col, 2 + (i + 1) * col));
}
这会将前两个条目解析为整数以找到所需的尺寸,然后创建一个包含其余条目的列表列表(字符串)。
答案 1 :(得分:0)
很可能您需要使用intl包来处理字符串操作。 “该软件包提供了国际化和本地化的功能,包括消息翻译,复数形式和性别,日期/数字格式和解析以及双向文本。”
关于第二个问题-我将创建类Person,其名称,姓氏,城市,国家/地区字符串字段,然后使用List来保存我的数据。