当显示为字符串时,Flutter从列表中删除空格,逗号和方括号

时间:2019-11-25 21:57:09

标签: flutter dart

我想浏览一下字符串列表,并将其添加到显示的文本元素中,但是我想删除逗号并删除[]和空格,但是保留除逗号和方括号之外的符号

所以,如果列表是

[1,2,#3,* 4,+ 5]

在文本字段中,我希望它显示-“ 12#3 * 4 + 5”

我可以弄清楚如何显示它,但是我正在使用

Text(myList.tostring().replaceAll('[\\]\\,\\', '')

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

您应该在列表上使用reduce方法。

List<String> myList = ["1", "2", "#3", "*4", "+5"];
String finalStr = myList.reduce((value, element) {
  return value + element;
});
print(finalStr);
# output: "12#3*4+5"

此方法通过使用提供的函数迭代组合集合的元素,将集合减小为单个值。

该方法具有一个接收两个参数的函数:一个是当前串联的值,该值以列表中第一个元素的值开头,第二个参数是列表中的下一个元素。因此,您可以对这两个值进行处理,并在下一次迭代时将其返回。最后,返回一个减小的值。在这种情况下,使用字符串,答案中的代码将连接这些值。如果这些是数字,则结果将是元素的总和。

如果要在元素之间添加任何内容,只需使用返回值即可。例如,要用逗号和空格分隔元素,它应该看起来像return value + " ," + element;

答案 1 :(得分:0)

除非我误解了这个问题,否则最明显的解决方案是使用 List.join()

List<String> myList = ["1", "2", "#3", "*4", "+5"];
print( myList.join() ); 

// Result
// 12#3*4+5

你也可以指定一个分隔符

print( myList.join(' ') ); 

// Result
// 1 2 #3 *4 +5