我想浏览一下字符串列表,并将其添加到显示的文本元素中,但是我想删除逗号并删除[]和空格,但是保留除逗号和方括号之外的符号
所以,如果列表是
[1,2,#3,* 4,+ 5]
在文本字段中,我希望它显示-“ 12#3 * 4 + 5”
我可以弄清楚如何显示它,但是我正在使用
Text(myList.tostring().replaceAll('[\\]\\,\\', '')
有没有办法做到这一点?
答案 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