dart - 如何将正则表达式匹配与 SharedPreferences 列表一起使用?
问题描述
以下正则表达式允许从特定键 (Key1) 中提取所有日期 (XXXX-XX-XX XX:XX)。
RegExp regExp = new RegExp(
r'(?<=Text\("key1:\[[^\][]*?)\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}(?=[^\][]*])',
);
var match = regExp.allMatches(decrypted).map((z) => z.group(0));
prefs.setStringList("mykey",match);
有了这段代码,我在 match 的输出中
(2000-00-00 00:00, 2020-09-02 04:30, 2020-09-03 00:30, ..., 2020-09-03 10:00, 2020-09-03 10:02)
问题是prefs.setStringList
只有List
这种accept
格式["","","",""]。如何调整我的输出以兼容?
解决方案
allMatches
返回 an Iterable
,这不是List
所需的SharedPreferences
。使用该toList
方法传递正确的数据类型。
prefs.setStringList("mykey",match.toList());
推荐阅读
- https - 来自 Open VPN 服务器的修改请求
- wordpress - WordPress丢失密码重定向问题
- heroku - 获取“toml.decoder.TomlDecodeError:找到没有值的键名。” 在 Heroku 上部署流式应用程序时
- inner-classes - 外部类内部的内部类对象
- c# - c#中的可滚动面板
- css - 如何使用css制作颜色渐变
- visual-studio - 删除以前的版本不会替换 DLL 的
- html - 将一个形状用作另一个形状的孔
- stream - microsoft stream api 发布了吗?
- angular - 如何修复“你似乎不依赖于“@angular/core”和/或“rxjs”。在离子