【问题标题】:How to add formatted String into List or Array?如何将格式化的字符串添加到列表或数组中?
【发布时间】:2018-12-23 17:44:16
【问题描述】:

我有一个如下所示的传入套接字数据;

示例 1: 1#.#4#.#B#.#175.52#.#USD#.#Currency

示例 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]
}

有什么帮助吗?

【问题讨论】:

  • Dart 列表是数组...而您有 split 已经返回列表.. 那么问题是什么??
  • 我需要在flutter local sqlite中另存为表或使用shard_preferencs。我该怎么做呢?第一个示例是 [1][4],第二个示例是 [2][4] 数组。但我不知道该怎么做。

标签: arrays list dart flutter


【解决方案1】:

这样可以吗:

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));
}

这会将前两个条目解析为整数以找到预期的维度,然后创建一个包含剩余条目的列表列表(字符串)。

【讨论】:

  • @Irn 你能告诉我如何从 return 语句中获取数据吗?
  • 我这样称呼它; List> niyazi = makeTable(mText);
  • List> returnArray = new List.generate( row, (i) => entries.sublist(2 + i * col, 2 + (i + 1) * col)) ;返回返回数组;
【解决方案2】:

您很可能需要使用intl 包来处理字符串操作。 “该软件包提供国际化和本地化功能,包括消息翻译、复数和性别、日期/数字格式和解析以及双向文本。”

关于您的第二个问题 - 我将创建具有姓名、姓氏、城市、国家/地区字符串字段的类 Person,然后使用 List 来保存我的数据。

【讨论】:

  • 对不起,进入不是一个选项。我需要在flutter local sqlite中保存为表或使用shard_preferencs。所以我手里有一个格式和列表。但我不知道如何在flutter local sqlite中保存为表格或使用shard_preferencs。
  • @NiyaziToros 看到你不是这个问题的原始发帖人,如果这个问题没有解决你的问题,请提出一个单独的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 2021-06-09
  • 2014-05-06
  • 1970-01-01
  • 2022-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多