问题描述
我想在表单字段中输入[1,2,3,4,5]这样的数组,并使用该表单值作为Bubblesort函数对数组进行排序的参数。如何在Flutter中实现呢?
解决方法
我们的字符串:
final hi = "[1,2,3,4,5]";
用于删除方括号的正则表达式:
final regex = RegExp(r'([\[\]])');
将我们的字符串替换为空后不带方括号:
final justNumbers = hi.replaceAll(regex,''); // 1,5
通过逗号分隔的字符串列表:
List<String> strings = justNumbers.split(',');
现在我们将字符串解析为整数(使用tryParse
以便它返回null
而不是引发异常):
List<int> numbers = strings.map((e) => int.tryParse(e)).toList();
最终
void main() {
final hi = "[1,5]";
final regex = RegExp(r'([\[\]])');
final justNumbers = hi.replaceAll(regex,'');
List<String> strings = justNumbers.split(',');
List<int> numbers = strings.map((e) => int.tryParse(e)).toList();
print(numbers);
}
,
保持简单,只需使用内置的json解析器即可。 像这样:
List<int> nbs = List<int>.from(json.decode('[1,4]'));